diff --git a/src/cli/parse-server.js b/src/cli/parse-server.js index b4cbbb12..6c52175b 100755 --- a/src/cli/parse-server.js +++ b/src/cli/parse-server.js @@ -9,7 +9,7 @@ program.loadDefinitions(definitions); program .usage('[options] '); - + program.on('--help', function(){ console.log(' Get Started guide:'); console.log(''); @@ -31,19 +31,27 @@ program.on('--help', function(){ console.log(' $ parse-server -- --appId APP_ID --masterKey MASTER_KEY --serverURL serverURL'); console.log(''); }); - + program.parse(process.argv, process.env); let options = {}; if (program.args.length > 0 ) { let jsonPath = program.args[0]; jsonPath = path.resolve(jsonPath); - options = require(jsonPath); + let jsonConfig = require(jsonPath); + if (jsonConfig.apps) { + if (jsonConfig.apps.length > 1) { + throw 'Multiple apps are not supported'; + } + options = jsonConfig.apps[0]; + } else { + options = jsonConfig; + } console.log(`Configuation loaded from ${jsonPath}`) -} +} options = Object.keys(definitions).reduce(function (options, key) { - if (program[key]) { + if (typeof program[key] !== 'undefined') { options[key] = program[key]; } return options; @@ -66,7 +74,7 @@ const api = new ParseServer(options); app.use(options.mountPath, api); var server = app.listen(options.port, function() { - + for (let key in options) { let value = options[key]; if (key == "masterKey") {