* Adds flow types / Configuration interfaces * Lets call it options * Use a single interface to generate the configurations * Translates options to definitions only if comments are set * improves logic * Moves objects around * Fixes issue affecting logging of circular objects * fixes undefined env * Moves all defaults to defaults * Adds back CLI defaults * Restored defaults in commander.js * Merge provided defaults and platform defaults * Addresses visual nits * Improves Config.js code * Adds ability to pass the default value in trailing comments * Load platform defaults from the definitions file * proper default values on various options * Adds ParseServer.start and server.start(options) as quick startup methods * Moves creating liveQueryServer http into ParseServer.js * removes dead code * Adds tests to guarantee we can start a LQ Server from main module * Fixes incorrect code regading liveQuery init port * Start a http server for LQ if port is specified * ensure we dont fail if config.port is not set * Specify port * ignore other path skipped in tests * Adds test for custom middleware setting * Refactors new Config into Config.get - Hides AppCache from ParseServer.js, use Config.put which validates * Extracts controller creation into Controllers/index.js - This makes the ParseServer init way simpler * Move serverURL inference into ParseServer * review nits
37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
import { nullParser } from './Options/parsers';
|
|
const { ParseServerOptions } = require('./Options/Definitions');
|
|
const logsFolder = (() => {
|
|
let folder = './logs/';
|
|
if (typeof process !== 'undefined' && process.env.TESTING === '1') {
|
|
folder = './test_logs/'
|
|
}
|
|
if (process.env.PARSE_SERVER_LOGS_FOLDER) {
|
|
folder = nullParser(process.env.PARSE_SERVER_LOGS_FOLDER);
|
|
}
|
|
return folder;
|
|
})();
|
|
|
|
const { verbose, level } = (() => {
|
|
const verbose = process.env.VERBOSE ? true : false;
|
|
return { verbose, level: verbose ? 'verbose' : undefined }
|
|
})();
|
|
|
|
|
|
const DefinitionDefaults = Object.keys(ParseServerOptions).reduce((memo, key) => {
|
|
const def = ParseServerOptions[key];
|
|
if (def.hasOwnProperty('default')) {
|
|
memo[key] = def.default;
|
|
}
|
|
return memo;
|
|
}, {});
|
|
|
|
const computedDefaults = {
|
|
jsonLogs: process.env.JSON_LOGS || false,
|
|
logsFolder,
|
|
verbose,
|
|
level,
|
|
}
|
|
|
|
export default Object.assign({}, DefinitionDefaults, computedDefaults);
|
|
export const DefaultMongoURI = DefinitionDefaults.databaseURI;
|