diff --git a/src/cli/common.js b/src/cli/common.js index 9e2c66d0..790c8e90 100644 --- a/src/cli/common.js +++ b/src/cli/common.js @@ -306,20 +306,28 @@ function cli(api) { function readConfigData(config) { var data = readConfigFile(config), json, + optionName, + optionValue, + args, options = {}; if (data) { if (data.charAt(0) === "{") { try { json = JSON.parse(data); data = ""; - for (var optionName in json) { + for (optionName in json) { if (json.hasOwnProperty(optionName)) { - data += "--" + optionName + "=" + json[optionName].join(); + optionValue = json[optionName]; + if (Array.isArray(optionValue)) { + optionValue = optionValue.join(","); + } + data += "--" + optionName + "=" + optionValue; } } } catch (e) {} } - options = processArguments(data.split(/[\s\n\r]+/m)); + args = data.replace(/\s+/g,"").split(/(?=--)/); + options = processArguments(args); } return options;