diff --git a/lib/CLI.js b/lib/CLI.js index f460e94f..5df139dd 100644 --- a/lib/CLI.js +++ b/lib/CLI.js @@ -1018,8 +1018,10 @@ CLI._operate = function(action_name, process_name, envs, cb) { */ if (full_detail && typeof(ids[0]) !== 'undefined' && full_detail[ids[0]] && full_detail[ids[0]].pm2_env && full_detail[ids[0]].pm2_env.pmx_module === true) { - var module_conf = Configuration.getAllSync(); - util._extend(envs, module_conf); + + var additional_env = Modularizer.getAdditionalConf(process_name); + console.log(additional_env, process_name); + util._extend(envs, additional_env); } diff --git a/lib/Modularizer.js b/lib/Modularizer.js index b6812d0e..ca704369 100644 --- a/lib/Modularizer.js +++ b/lib/Modularizer.js @@ -27,8 +27,6 @@ var UX = require('./CliUx.js'); // [X] API normalization = dont block adoption, find common way to transform current software into propack function startModule(opts, cb) { - var module_conf = Configuration.getAllSync() || {}; - /** SCRIPT * Open file and make the script detection smart */ @@ -64,16 +62,7 @@ function startModule(opts, cb) { /** * Only merge configuration variables for this module */ - var additional_env = {}; - - if (!module_conf[package_json.name]) { - additional_env = {}; - additional_env[package_json.name] = {}; - } - else { - additional_env = Common.serialize(module_conf[package_json.name]); - additional_env[package_json.name] = JSON.stringify(module_conf[package_json.name]); - } + var additional_env = Modularizer.getAdditionalConf(package_json.name); // Start the module CLI.startJson(package_json, { @@ -88,6 +77,24 @@ function startModule(opts, cb) { }); } +Modularizer.getAdditionalConf = function(app_name) { + if (!app_name) throw new Error('No app_name defined'); + + var module_conf = Configuration.getAllSync(); + + var additional_env = {}; + + if (!module_conf[app_name]) { + additional_env = {}; + additional_env[app_name] = {}; + } + else { + additional_env = Common.serialize(module_conf[app_name]); + additional_env[app_name] = JSON.stringify(module_conf[app_name]); + } + return additional_env; +}; + Modularizer.launchAll = function(cb) { var module_folder = p.join(cst.PM2_ROOT_PATH, 'node_modules');