diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..01bb04b --- /dev/null +++ b/.env.sample @@ -0,0 +1,260 @@ +# ENVIRONMENT VARIABLES +# +# Recommended: APP_NAME, HTML_TITLE, JWT_SECRET, SESSION_SECRET, +# GOOGLE_ANALYTICS, HTML_META_*, EMAIL_*, SEO_* +# +# See https://github.com/motdotla/dotenv/blob/master/README.md +#===== + + + +# Application +#----- + +#NODE_ENV= +# defaults to 'development' +# other supported options include 'test', 'production' or 'nightwatch' + +#APP_NAME= +# defaults to 'MeanStackJS' + +#HTML_TITLE= +# defaults to 'Development MEANSTACKJS' in development environment +# defaults to 'MEANSTACKJS' in production environment +# defaults to 'Nightwatch E2E MEANSTACKJS' in nightwatch environment +# defaults to 'Test MEANSTACKJS' in test environment + +#IP= +# defaults to '0.0.0.0' + +#HOST= +# fallsback to HOSTNAME +# defaults to 'localhost' + +#JWT_SECRET= +# defaults to 'MEANSTACKJS' + +#SESSION_SECRET= +# defaults to 'MEANSTACKJS' + +#HTTP_ACTIVE +# defaults to true + +#PORT= +# defaults to 3000 + +#HTTPS_ACTIVE +# defaults to false + +#HTTPSPORT= +# defaults to 3043 + +#HTTPS_KEY +# defaults to './configs/certificates/keyExample.pem' + +#HTTPS_CERT +# defaults to './configs/certificates/certExample.pem' + + +## Minification + +#MINIFY= +# defaults to 'default' in development and nightwatch environments +# defaults to 'minify' in production environment +# defaults to 'concat' in test environment + + +## Database + +#DB_PORT_27017_TCP_ADDR= +#MONGODB= +#MONGOLAB_URI= +# defaults to 'mongodb://localhost/dev' + + +### Mongo Express + +#MONGOEXPRESSPORT= +# defaults to 8081 + + +### SocketIO + +#SOCKETIOPORT= +# defaults to 8282 + + + +# Content Delivery Network +#----- + +#CDN +# defaults to false + +#MAXCDN_COMPANY_ALIAS= +# defaults to '' + +#MAXCDN_CONSUMER_KEY= +# defaults to '' + +#MAXCDN_CONSUMER_SECRET= +# defaults to '' + +#MAXCDN_ZONE_ID= +# defaults to false + + + +# Google Analytics +#----- + +#GOOGLE_ANALYTICS +# defaults to 'UA-71654331-1' + + + +# HTML Meta +#----- + +#HTML_META_TITLE= +# defaults to 'Mean Stack JS Demo' + +#HTML_META_KEYWORDS= +# defaults to 'MEAN, MEANSTACKJS, mongodb, expressjs, angularjs,no...' + +#HTML_META_DESCRIPTION= +# defaults to 'Mean Stack JS was built for ease of use with javas...' + +#HTML_META_OG_URL= +# defaults to 'https://meanstackjs.herokuapp.com/' + +#HTML_META_OG_TYPE= +# defaults to 'website' + +#HTML_META_OG_TITLE= +# defaults to 'Mean Stack JS Demo' + +#HTML_META_OG_DESCRIPTION= +# defaults to 'Mean Stack JS was built for ease of use with javasc...' + +#HTML_META_OG_IMAGE= +# defaults to 'http://meanstackjs.com/images/logo/header.png' + +#HTML_META_FB_APPID= +# defaults to '1610630462580116' + +#HTML_META_TWITTER_CREATOR= +# defaults to '@greenpioneerdev' + +#HTML_META_TWITTER_CARD= +# defaults to 'summary_large_image' + +#HTML_META_TWITTER_TITLE= +# defaults to 'Mean Stack JS Demo' + +#HTML_META_TWITTER_DESCRIPTION= +# defaults to 'Mean Stack JS was built for ease of use with javasc...' + +#HTML_META_TWITTER_URL= +# defaults to 'https://meanstackjs.herokuapp.com/' + +#HTML_META_TWITTER_IMAGE= +# defaults to 'http://meanstackjs.com/images/logo/header.png' + +#HTML_META_TWITTER_SITE= +# defaults to '@meanstackjs' + +#HTML_META_CANONICAL= +# defaults to 'https://meanstackjs.herokuapp.com/' + +#HTML_META_AUTHOR= +# defaults to 'Green Pioneer Solutions' + + + +# Email Configuration +#----- + +#EMAIL_FROM= +# defaults to 'MEANSTACKJS@localhost.com' + +#EMAIL_ERROR= +# defaults to 'MEANSTACKJS@localhost.com' + +#EMAIL_HOST= +# defaults to 'smtp.mandrillapp.com' + +#EMAIL_PORT= +# defaults to '587' + +#EMAIL_USER= +# defaults to 'hackathonstarterdemo' + +#EMAIL_PASS= +# defaults to 'E1K950_ydLR4mHw12a0ldA' + + +## Email Templates + +#EMAIL_WELCOME_SUB= +# defaults to 'Welcome to Mean Stack JS' + +#EMAIL_WELCOME_TEXT_STRING= +# var username +# defaults to 'Hi ' + username + ',\n\n' + 'Thanks for signing up ...' + +#EMAIL_RESET_SUB= +# defaults to 'Reset your password on MEANSTACKJS ' + +#EMAIL_RESET_TEXT_STRING= +# var email +# defaults to 'Hello,\n\n' + 'This is a confirmation that the pass...' + +#EMAIL_FORGOT_SUB= +# defaults to 'Welcome to Mean Stack JS' + +#EMAIL_FORGOT_TEXT_STRING= +# var host +# var token +# defaults to 'You are receiving this email because you (or someon...' + + + +# Search Engine Optimization +#----- + +#SEO_TITLE= +# defaults to 'Mean Stack JS Demo' + +#SEO_404= +# defaults to 'Page Not Found' + +#SEO_500= +# defaults to 'Server Side Error' + +#SEO_LOG_IN= +# defaults to 'Signin to Mean Stack JS' + +#SEO_SIGN_UP= +# defaults to 'Join Mean Stack JS ' + +#SEO_ACCOUNT= +# defaults to '<%= user.profile.name %> Account' + +#SEO_FORGOT= +# defaults to 'Forgot Your Password ' + +#SEO_RESET= +# defaults to 'reset ' + +#SEO_CREATE= +# defaults to 'Create a New Blog' + +#SEO_EDIT= +# defaults to 'Edit Your Blog' + +#SEO_LIST= +# defaults to 'Blog List' + +#SEO_TAGS= +# defaults to ['Add', 'Tags', 'To Blog', 'Mean Stack JS'] diff --git a/.travis.yml b/.travis.yml index 99f3f63..7a78aee 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,9 +1,9 @@ language: node_js node_js: - - 4 - - 5 - 6 - 7 + - 8 + - 9 os: - linux - centos diff --git a/README.md b/README.md index fdb53fa..6ea3eac 100755 --- a/README.md +++ b/README.md @@ -4,7 +4,6 @@ [![Build Status](https://travis-ci.org/greenpioneersolutions/meanstackjs.svg?branch=master)](https://travis-ci.org/greenpioneersolutions/meanstackjs) [![Join the chat at https://gitter.im/greenpioneersolutions/meanstackjs](https://badges.gitter.im/greenpioneersolutions/meanstackjs.svg)](https://gitter.im/greenpioneersolutions/meanstackjs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Known Vulnerabilities](https://snyk.io/test/github/greenpioneersolutions/meanstackjs/badge.svg)](https://snyk.io/test/github/greenpioneersolutions/meanstackjs/badge.svg) -[![Codewake](https://www.codewake.com/badges/codewake2.svg)](https://www.codewake.com/p/meanstackjs) [![Code Triagers Badge](https://www.codetriage.com/greenpioneersolutions/meanstackjs/badges/users.svg)](https://www.codetriage.com/greenpioneersolutions/meanstackjs) [![Get help on Codementor](https://cdn.codementor.io/badges/get_help_github.svg)](https://www.codementor.io/jasonhumphrey?utm_source=github&utm_medium=button&utm_term=jasonhumphrey&utm_campaign=github) [![Donatee](https://img.shields.io/badge/paypal-donate-blue.svg)](https://paypal.me/greenpioneer) diff --git a/configs/environments/development.js b/configs/environments/development.js index eef501e..6a1e6b3 100644 --- a/configs/environments/development.js +++ b/configs/environments/development.js @@ -1,8 +1,8 @@ var mongodbUri = process.env.DB_PORT_27017_TCP_ADDR || process.env.MONGODB || process.env.MONGOLAB_URI || 'mongodb://localhost/dev' module.exports = { - minify: 'default', // 'concat' all files or 'minify' concat and minfy or 'default' leave as is + minify: process.env.MINIFY || 'default', // 'concat' all files or 'minify' concat and minfy or 'default' leave as is html: { - title: 'Development MEANSTACKJS' + title: process.env.HTML_TITLE || 'Development MEANSTACKJS' }, logger: 'dev', cdn: process.env.CDN || false, @@ -19,15 +19,15 @@ module.exports = { port: process.env.SOCKETIOPORT || 8282 }, http: { - active: true, + active: process.env.HTTP_ACTIVE || true, port: process.env.PORT || 3000 }, https: { - active: false, + active: process.env.HTTPS_ACTIVE || false, redirect: true, port: process.env.HTTPSPORT || 3043, - key: './configs/certificates/keyExample.pem', - cert: './configs/certificates/certExample.pem' + key: process.env.HTTPS_KEY || './configs/certificates/keyExample.pem', + cert: process.env.HTTPS_CERT || './configs/certificates/certExample.pem' }, throttle: { rateLimit: { diff --git a/configs/environments/nightwatch.js b/configs/environments/nightwatch.js index 77140e4..1c86265 100644 --- a/configs/environments/nightwatch.js +++ b/configs/environments/nightwatch.js @@ -2,7 +2,7 @@ var mongodbUri = process.env.DB_PORT_27017_TCP_ADDR || process.env.MONGODB || pr module.exports = { minify: process.env.MINIFY || 'default', // 'concat' all files or 'minify' concat and minfy or 'default' leave as is - Added process env for testing html: { - title: 'Nightwatch E2E MEANSTACKJS' + title: process.env.HTML_TITLE || 'Nightwatch E2E MEANSTACKJS' }, logger: false, cdn: process.env.CDN || false, @@ -19,15 +19,15 @@ module.exports = { port: process.env.SOCKETIOPORT || 8282 }, http: { - active: true, + active: process.env.HTTP_ACTIVE || true, port: process.env.PORT || 3000 }, https: { - active: false, + active: process.env.HTTPS_ACTIVE || false, redirect: true, port: process.env.HTTPSPORT || 3043, - key: './configs/certificates/keyExample.pem', - cert: './configs/certificates/certExample.pem' + key: process.env.HTTPS_KEY || './configs/certificates/keyExample.pem', + cert: process.env.HTTPS_CERT || './configs/certificates/certExample.pem' }, throttle: { rateLimit: { diff --git a/configs/environments/production.js b/configs/environments/production.js index a2f7bb1..d578f9f 100644 --- a/configs/environments/production.js +++ b/configs/environments/production.js @@ -1,8 +1,8 @@ var mongodbUri = process.env.DB_PORT_27017_TCP_ADDR || process.env.MONGODB || process.env.MONGOLAB_URI || 'mongodb://localhost/prod' module.exports = { - minify: 'minify', // 'concat' all files or 'minify' concat and minfy or 'default' leave as is + minify: process.env.MINIFY || 'minify', // 'concat' all files or 'minify' concat and minfy or 'default' leave as is html: { - title: 'MEANSTACKJS' + title: process.env.HTML_TITLE || 'MEANSTACKJS' }, logger: 'combined', cdn: process.env.CDN || false, @@ -19,15 +19,15 @@ module.exports = { port: process.env.SOCKETIOPORT || 8282 }, http: { - active: true, + active: process.env.HTTP_ACTIVE || true, port: process.env.PORT || 3000 }, https: { - active: false, + active: process.env.HTTPS_ACTIVE || false, redirect: true, port: process.env.HTTPSPORT || 3043, - key: './configs/certificates/keyExample.pem', - cert: './configs/certificates/certExample.pem' + key: process.env.HTTPS_KEY || './configs/certificates/keyExample.pem', + cert: process.env.HTTPS_CERT || './configs/certificates/certExample.pem' }, throttle: { rateLimit: { diff --git a/configs/environments/test.js b/configs/environments/test.js index 499dcfb..968b39c 100644 --- a/configs/environments/test.js +++ b/configs/environments/test.js @@ -1,8 +1,8 @@ var mongodbUri = process.env.DB_PORT_27017_TCP_ADDR || process.env.MONGODB || process.env.MONGOLAB_URI || 'mongodb://localhost/test' module.exports = { - minify: 'concat', // 'concat' all files or 'minify' concat and minfy or 'default' leave as is + minify: process.env.MINIFY || 'concat', // 'concat' all files or 'minify' concat and minfy or 'default' leave as is html: { - title: 'Test MEANSTACKJS' + title: process.env.HTML_TITLE || 'Test MEANSTACKJS' }, logger: 'common', cdn: process.env.CDN || false, @@ -19,15 +19,15 @@ module.exports = { port: process.env.SOCKETIOPORT || 8282 }, http: { - active: true, + active: process.env.HTTP_ACTIVE || true, port: process.env.PORT || 3000 }, https: { - active: false, + active: process.env.HTTPS_ACTIVE || false, redirect: true, port: process.env.HTTPSPORT || 3043, - key: './configs/certificates/keyExample.pem', - cert: './configs/certificates/certExample.pem' + key: process.env.HTTPS_KEY || './configs/certificates/keyExample.pem', + cert: process.env.HTTPS_CERT || './configs/certificates/certExample.pem' }, throttle: { rateLimit: { diff --git a/configs/seo.js b/configs/seo.js index 67887c3..7d76927 100644 --- a/configs/seo.js +++ b/configs/seo.js @@ -2,37 +2,37 @@ var _ = require('lodash') module.exports = { '/': { - title: 'Mean Stack JS Demo' + title: process.env.SEO_TITLE || 'Mean Stack JS Demo' }, '/404': { - title: 'Page Not Found' + title: process.env.SEO_404 || 'Page Not Found' }, '/500': { - title: 'Server Side Error' + title: process.env.SEO_500 || 'Server Side Error' }, '/signin': { - title: 'Signin to Mean Stack JS' + title: process.env.SEO_LOG_IN || 'Signin to Mean Stack JS' }, '/signup': { - title: 'Join Mean Stack JS ' + title: process.env.SEO_SIGN_UP || 'Join Mean Stack JS ' }, '/account': { - title: '<%= user.profile.name %> Account' + title: process.env.SEO_ACCOUNT || '<%= user.profile.name %> Account' }, '/forgot': { - title: 'Forgot Your Password ' + title: process.env.SEO_FORGOT || 'Forgot Your Password ' }, '/reset/': { - title: 'reset ' + title: process.env.SEO_RESET || 'reset ' }, '/blog/create': { - title: 'Create a New Blog' + title: process.env.SEO_CREATE || 'Create a New Blog' }, '/blog/edit/': { - title: 'Edit Your Blog' + title: process.env.SEO_EDIT || 'Edit Your Blog' }, '/blog/list': { - title: 'Blog List' + title: process.env.SEO_LIST || 'Blog List' }, '/blog/view/:id': { title: '<%= blog.title %> - <%= blog.user.profile.name %> ', @@ -47,7 +47,7 @@ module.exports = { twitterDescription: '<%= blog.content %> ', hook: function (self, data, cb) { data.blog = { - tags: ['Add', 'Tags', 'To Blog', 'Mean Stack JS'] + tags: process.env.SEO_TAGS || ['Add', 'Tags', 'To Blog', 'Mean Stack JS'] } self.models.blog.findOne({_id: data.params.id}).populate('user').then(function (blog) { data.blog = _.assign(data.blog, blog) diff --git a/configs/settings.js b/configs/settings.js index f97811b..e80b4bb 100644 --- a/configs/settings.js +++ b/configs/settings.js @@ -5,7 +5,7 @@ var _ = require('lodash') var environment = require('./environment.js').get() var baseLine = { app: { - name: 'MeanStackJS' + name: process.env.APP_NAME || 'MeanStackJS' }, cache: { maxAge: 0, @@ -95,13 +95,13 @@ var baseLine = { // JWT Object https://github.com/auth0/node-jsonwebtoken jwt: { // is used to compute a JWT SIGN - secret: 'MEANSTACKJS', + secret: process.env.JWT_SECRET || 'MEANSTACKJS', options: { expiresIn: 86400 // 24 hours. or the old way//60 * 120 // 60 seconds * 120 = 2 hours } }, // is used to compute a session hash - sessionSecret: 'MEANSTACKJS', + sessionSecret: process.env.SESSION_SECRET || 'MEANSTACKJS', // The name of the MongoDB collection to store sessions in sessionCollection: 'sessions', // The session cookie settings @@ -125,26 +125,26 @@ var baseLine = { consumerSecret: process.env.MAXCDN_CONSUMER_SECRET || '' }, // SEO - Default html setup - googleAnalytics: 'UA-71654331-1', + googleAnalytics: process.env.GOOGLE_ANALYTICS || 'UA-71654331-1', html: { - title: 'Mean Stack JS Demo', - keywords: 'MEAN, MEANSTACKJS, mongodb, expressjs, angularjs,nodejs, javascript', - description: 'Mean Stack JS was built for ease of use with javascript at its core. MeanStackJS is a full stack javascript framework that will give you the power to develop web applications', - ogUrl: 'https://meanstackjs.herokuapp.com/', - ogType: 'website', - ogTitle: 'Mean Stack JS Demo', - ogDescription: 'Mean Stack JS was built for ease of use with javascript at its core. MeanStackJS is a full stack javascript framework that will give you the power to develop web applications', - ogImage: 'http://meanstackjs.com/images/logo/header.png', - fbAppId: '1610630462580116', - twitterCreator: '@greenpioneerdev', - twitterCard: 'summary_large_image', - twitterTitle: 'Mean Stack JS Demo', - twitterDescription: 'Mean Stack JS was built for ease of use with javascript at its core. MeanStackJS is a full stack javascript framework that will give you the power to develop web applications', - twitterUrl: 'https://meanstackjs.herokuapp.com/', - twitterImage: 'http://meanstackjs.com/images/logo/header.png', - twitterSite: '@meanstackjs', - canonical: 'https://meanstackjs.herokuapp.com/', - author: 'Green Pioneer Solutions' + title: process.env.HTML_META_TITLE || 'Mean Stack JS Demo', + keywords: process.env.HTML_META_KEYWORDS || 'MEAN, MEANSTACKJS, mongodb, expressjs, angularjs,nodejs, javascript', + description: process.env.HTML_META_DESCRIPTION || 'Mean Stack JS was built for ease of use with javascript at its core. MeanStackJS is a full stack javascript framework that will give you the power to develop web applications', + ogUrl: process.env.HTML_META_OG_URL || 'https://meanstackjs.herokuapp.com/', + ogType: process.env.HTML_META_OG_TYPE || 'website', + ogTitle: process.env.HTML_META_OG_TITLE || 'Mean Stack JS Demo', + ogDescription: process.env.HTML_META_OG_DESCRIPTION || 'Mean Stack JS was built for ease of use with javascript at its core. MeanStackJS is a full stack javascript framework that will give you the power to develop web applications', + ogImage: process.env.HTML_META_OG_IMAGE || 'http://meanstackjs.com/images/logo/header.png', + fbAppId: process.env.HTML_META_FB_APPID || '1610630462580116', + twitterCreator: process.env.HTML_META_TWITTER_CREATOR || '@greenpioneerdev', + twitterCard: process.env.HTML_META_TWITTER_CARD || 'summary_large_image', + twitterTitle: process.env.HTML_META_TWITTER_TITLE || 'Mean Stack JS Demo', + twitterDescription: process.env.HTML_META_TWITTER_DESCRIPTION || 'Mean Stack JS was built for ease of use with javascript at its core. MeanStackJS is a full stack javascript framework that will give you the power to develop web applications', + twitterUrl: process.env.HTML_META_TWITTER_URL || 'https://meanstackjs.herokuapp.com/', + twitterImage: process.env.HTML_META_TWITTER_IMAGE || 'http://meanstackjs.com/images/logo/header.png', + twitterSite: process.env.HTML_META_TWITTER_SITE || '@meanstackjs', + canonical: process.env.HTML_META_CANONICAL || 'https://meanstackjs.herokuapp.com/', + author: process.env.HTML_META_AUTHOR || 'Green Pioneer Solutions' }, seo: require('./seo.js'), // AGGREGATION @@ -303,9 +303,9 @@ var baseLine = { email: { templates: { welcome: { - subject: 'Welcome to Mean Stack JS', + subject: process.env.EMAIL_WELCOME_SUB || 'Welcome to Mean Stack JS', text: function (username) { - return 'Hi ' + username + ',\n\n' + + return process.env.EMAIL_WELCOME_TEXT_STRING || 'Hi ' + username + ',\n\n' + 'Thanks for signing up for Mean Stack JS.\n\n' + 'If you have any questions about the site, you can reply to this ' + 'email.\n\n' + @@ -313,30 +313,30 @@ var baseLine = { } }, reset: { - subject: 'Reset your password on MEANSTACKJS ', + subject: process.env.EMAIL_RESET_SUB || 'Reset your password on MEANSTACKJS ', text: function (email) { - return 'Hello,\n\n' + + return process.env.EMAIL_RESET_TEXT_STRING || 'Hello,\n\n' + 'This is a confirmation that the password for your account ' + email + ' has just been changed.\n' } }, forgot: { - subject: 'Welcome to Mean Stack JS', + subject: process.env.EMAIL_FORGOT_SUB || 'Welcome to Mean Stack JS', text: function (host, token) { - return 'You are receiving this email because you (or someone else) have requested the reset of the password for your account.\n\n' + + return process.env.EMAIL_FORGOT_TEXT_STRING || 'You are receiving this email because you (or someone else) have requested the reset of the password for your account.\n\n' + 'Please click on the following link, or paste this into your browser to complete the process:\n\n' + 'http://' + host + '/reset/' + token + '\n\n' + 'If you did not request this, please ignore this email and your password will remain unchanged.\n' } } }, - from: 'MEANSTACKJS@localhost.com', - error: 'MEANSTACKJS@localhost.com', + from: process.env.EMAIL_FROM || 'MEANSTACKJS@localhost.com', + error: process.env.EMAIL_ERROR || 'MEANSTACKJS@localhost.com', connect: { - host: 'smtp.mandrillapp.com', // Gmail, SMTP - port: '587', + host: process.env.EMAIL_HOST || 'smtp.mandrillapp.com', // Gmail, SMTP + port: process.env.EMAIL_PORT || '587', auth: { - user: 'hackathonstarterdemo', - pass: 'E1K950_ydLR4mHw12a0ldA' + user: process.env.EMAIL_USER || 'hackathonstarterdemo', + pass: process.env.EMAIL_PASS || 'E1K950_ydLR4mHw12a0ldA' } } } diff --git a/package.json b/package.json index 953532e..91d6b23 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meanstackjs", - "version": "1.8.0", + "version": "1.8.1", "description": "Mean Stack JS is an enterprise ready full stack JavaScript solution using MongoDB, ExpressJs, AngularJs, and NodeJs. Providing a simple project structure to quickly build prototypes into production ready applications for modern agile development teams.", "main": "index.js", "standard": { @@ -92,11 +92,11 @@ "buildreq": "latest", "chalksay": "^1.1.0", "compression": "^1.6.0", - "connect-mongo": "^1.1.0", + "connect-mongo": "^2.0.0", "cookie-parser": "^1.4.0", "cors": "^2.7.1", - "cross-env": "^3.1.3", - "debug": "^2.5.1", + "cross-env": "^5.1.3", + "debug": "^3.1.0", "dotenv": "^4.0.0", "ejs": "^2.5.5", "express": "^4.14.1", @@ -107,15 +107,15 @@ "express-query-parameters": "^1.0.1", "express-session": "^1.12.1", "express-sitemap": "^1.6.3", - "express-status-monitor": "^0.1.7", - "express-validator": "^3.0.0", + "express-status-monitor": "^1.0.1", + "express-validator": "^4.3.0", "glob": "^7.1.1", "helmet": "^3.1.0", "hpp": "^0.2.1", "http-status-codes": "^1.0.6", "is-there": "^4.3.3", "isbot": "^2.0.1", - "jsonwebtoken": "^7.2.1", + "jsonwebtoken": "^8.1.0", "less": "^2.7.2", "lodash": "^4.17.4", "maxcdn": "^0.2.0", @@ -130,9 +130,9 @@ "node-outlook": "^1.1.6", "node-sass": "^4.5.0", "node-uuid": "^1.4.7", - "node-xlsx": "^0.7.4", - "nodemailer": "^2.3.2", - "passport": "0.3.2", + "node-xlsx": "^0.11.2", + "nodemailer": "^2.7.2", + "passport": "0.4.0", "passport-azure-ad": "^3.0.4", "passport-facebook": "^2.1.1", "passport-github": "^1.1.0", @@ -142,7 +142,7 @@ "passport-oauth": "^1.0.0", "passport-openid": "^0.4.0", "passport-twitter": "^1.0.4", - "path-to-regexp": "^1.7.0", + "path-to-regexp": "^2.1.0", "pug": "^2.0.0-alpha8", "q": "^1.4.1", "redis": "^2.6.2", @@ -150,14 +150,14 @@ "run-auto": "^2.0.0", "semver": "^5.3.0", "serial-concat-files": "^1.0.0", + "snyk": "^1.30.1", "socket.io": "^2.0.2", - "uglify-js": "^2.6.2", - "uglifycss": "0.0.25", - "validator": "^6.2.1", + "uglify-js": "^2.8.29", + "uglifycss": "0.0.27", + "validator": "^9.2.0", "winston": "^2.3.1", "winston-daily-rotate-file": "^1.4.4", - "winston-mongodb": "^2.0.7", - "snyk": "^1.30.1" + "winston-mongodb": "^2.0.10" }, "devDependencies": { "blessed": "^0.1.81",