From 7be9624789ed2720a6faaba752ca684c71dc8e6c Mon Sep 17 00:00:00 2001 From: Dominique Da Silva Date: Sat, 9 Nov 2019 00:54:41 +0000 Subject: [PATCH] Clean arguments transmitted to fork process --- index.js | 2 ++ lib/tools.js | 21 ++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 9428aaf4..f8388c65 100644 --- a/index.js +++ b/index.js @@ -31,6 +31,8 @@ if (config.title) { process.title = config.title; } +process.execArgv = tools.cleanArgv(); + log.level = config.log.level; app.set('port', port); diff --git a/lib/tools.js b/lib/tools.js index b0d16822..37d53e1f 100644 --- a/lib/tools.js +++ b/lib/tools.js @@ -30,6 +30,7 @@ module.exports = { prepareHtml, purifyHTML, mergeTemplateIntoLayout, + cleanArgv, workers: new Set() }; @@ -211,7 +212,7 @@ function formatMessage(serviceUrl, campaign, list, subscription, message, filter return false; }; - let tagReplace = message => + let tagReplace = message => message.replace(/\[([a-z0-9_]+)(?:\/([^\]]+))?\]/ig, (match, identifier, fallback) => { identifier = identifier.toUpperCase(); let value = getTagValue(identifier); @@ -321,3 +322,21 @@ function mergeTemplateIntoLayout(template, layout, callback) { return done(template, layout); } } + + +function cleanArgv() { + if (process.env.NODE_ENV === 'development') { + if (process.env.NODE_INSPECT_FORK === 'true') { + return process.execArgv.map(opt => { + if (opt.indexOf('--inspect') > -1 && opt.indexOf(':0') === -1) { + const m = opt.split(/[=:]/); + const host = m[1] && isNaN(m[1]) ? m[1] : '127.0.0.1'; + return `--inspect-brk=${host}:0`; + } + return opt; + }); + } + return process.execArgv.filter(opt => opt.indexOf('--inspect') === -1); + } + return process.execArgv; +} \ No newline at end of file