export async function ProcessConfigurationFile()

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;
}