Browse Source

manually load BrowserSync in dev environments

We are simply no longer using the BrowserSync proxy and will be loading
directly from Express in dev.
develop
Rob Colbert 2 years ago
parent
commit
43464cefb0
  1. 3
      app/views/layouts/main.pug
  2. 9
      gulpfile.js
  3. 17
      lib/site-platform.js

3
app/views/layouts/main.pug

@ -89,6 +89,9 @@ html(lang='en')
script(src=`/numeral/numeral.min.js?v=${pkg.version}`)
script(src=`/socket.io/socket.io.js?v=${pkg.version}`)
if process.env.NODE_ENV !== 'production'
script(src="https://localhost:3310/browser-sync/browser-sync-client.js?v=2.27.7")
block vendorjs
script.

9
gulpfile.js

@ -24,12 +24,15 @@ function util_start_browsersync ( ) {
proxy: {
target: 'https://dev.base.digitaltelepresence.com:3410',
ws: true,
reqHeaders: {
'X-Forwarded-For': '127.0.0.1, 127.0.0.1',
},
},
host: 'dev.base.digitaltelepresence.com',
open: 'local',
open: 'external',
https: {
key: path.join(__dirname, 'ssl', 'dtp-webapp.key'),
cert: path.join(__dirname, 'ssl', 'dtp-webapp.crt'),
key: path.join(__dirname, 'ssl', 'dtp-base.key'),
cert: path.join(__dirname, 'ssl', 'dtp-base.crt'),
},
port: 3310,
cors: true,

17
lib/site-platform.js

@ -202,6 +202,7 @@ module.exports.startPlatform = async (dtp) => {
};
module.exports.startWebServer = async (dtp) => {
const IS_PRODUCTION = (process.env.NODE_ENV === 'production');
dtp.app = module.app = express();
module.app.set('views', path.join(dtp.config.root, 'app', 'views'));
@ -288,6 +289,7 @@ module.exports.startWebServer = async (dtp) => {
/*
* Express sessions
*/
module.log.info('initializing redis session store');
var sessionStore = new RedisSessionStore({ client: module.redis });
@ -296,19 +298,28 @@ module.exports.startWebServer = async (dtp) => {
name: `dtp:${process.env.DTP_SITE_DOMAIN_KEY}.${process.env.NODE_ENV}`,
secret: process.env.HTTP_SESSION_SECRET,
resave: true,
proxy: IS_PRODUCTION,
saveUninitialized: true,
cookie: {
domain: process.env.DTP_SITE_DOMAIN,
domain: process.env.DTP_SITE_DOMAIN_KEY,
path: '/',
httpOnly: true,
secure: process.env.HTTP_COOKIE_SECURE === 'enabled',
secure: true,
sameSite: process.env.HTTP_COOKIE_SAMESITE || false,
expires: SESSION_DURATION,
},
store: null,
};
module.log.info('configuring session handler', {
domain: module.sessionConfig.cookie.domain,
httpOnly: module.sessionConfig.cookie.httpOnly,
secure: module.sessionConfig.cookie.secure,
sameSite: module.sessionConfig.cookie.sameSite,
expires: module.sessionConfig.cookie.expires,
});
module.sessionConfig.store = sessionStore;
if (process.env.NODE_ENV === 'production') {
if (IS_PRODUCTION && module.sessionConfig.cookie.secure) {
module.log.info('session will be trusting first proxy');
module.app.set('trust proxy', 1);
}
module.app.use(session(module.sessionConfig));

Loading…
Cancel
Save