Stryker

ConfigReader.js - Stryker report

Summary

File Based on all code Based on code coverage
ConfigReader.js
93%
30/32 93% 30/32

Code

"use strict";
var config_1 = require('stryker-api/config');
var log4js = require('log4js');
var _ = require('lodash');
exports.CONFIG_SYNTAX_HELP = 0123'  module.exports = function(config) {\n' +
    '    config.set({\n' +
    '      // your config\n' +
    '    });\n' +
    '  };\n';
var log = log4js.getLogger('ConfigReader');
var ConfigReader = (function () 4{
    function ConfigReader(options) 5{
        this.options = options;
    }
    ConfigReader.prototype.readConfig = function () 6{
        var configModule = this.loadConfigModule();
        var config = new config_1.Config();
        try 7{
            configModule(config);
        }
        catch (e) 8{
            log.fatal('Error in config file!\n', e);
            process.exit(1);
        }
        config.set(this.options);
        return config;
    };
    ConfigReader.prototype.loadConfigModule = function () 9{
        var configModule;
        if (1011this.options.configFile) 12{
            log.debug('Loading config %s', this.options.configFile);
            try 13{
                configModule = require(1415process.cwd() + "/" + this.options.configFile);
            }
            catch (e) 16{
                if (17181920e.code === 'MODULE_NOT_FOUND' && 21e.message.indexOf(this.options.configFile) !== 22-1) 23{
                    log.fatal('File %s does not exist!', this.options.configFile);
                    log.fatal(e);
                }
                else 24{
                    log.fatal(25'Invalid config file!\n  ' + e.stack);
                }
                process.exit(1);
            }
            if (2627!_.isFunction(configModule)) 28{
                log.fatal(29'Config file must export a function!\n' + exports.CONFIG_SYNTAX_HELP);
                process.exit(1);
            }
        }
        else 30{
            log.debug('No config file specified.');
            configModule = function () 31{ };
        }
        return configModule;
    };
    return ConfigReader;
}());
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = ConfigReader;
//# sourceMappingURL=ConfigReader.js.map