in src/NodeJs/ConfigurationProcessor.ts [53:77]
export async function ProcessConfigurationFile(commandLineOptions: ICommandLineOptions): Promise<IConfigurationFile> {
// Load configuration file
const configFile = commandLineOptions.config;
if (!existsSync(configFile)) {
logger.logError(`Cannot find configuration file '${configFile}'`);
const normalizedConfiguraitonFilename = normalize(defaultConfigurationFilename);
if (!existsSync(normalizedConfiguraitonFilename)) {
writeFileSync(normalizedConfiguraitonFilename, defaultConfiguration);
logger.logInfo(`Generated configuration file as '${defaultConfigurationFilename}', please fill in required information and retry.`);
}
process.exit(1);
}
const configuration = jsoncParse(readFileSync(configFile, defaultEncoding)) as IConfigurationFile;
// replace token if overriden from command line
configuration.sourceAccountToken = commandLineOptions.sourceToken ? commandLineOptions.sourceToken : configuration.sourceAccountToken;
configuration.targetAccountToken = commandLineOptions.targetToken ? commandLineOptions.targetToken : configuration.targetAccountToken;
if (!Utility.validateConfiguration(configuration, commandLineOptions.mode)) {
process.exit(1);
}
return configuration;
}