stryker
Version:
The extendable JavaScript mutation testing framework
38 lines • 2.49 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var _1 = require(".");
var plugin_1 = require("stryker-api/plugin");
var typed_inject_1 = require("typed-inject");
var log4js_1 = require("log4js");
var factoryMethods_1 = require("./factoryMethods");
var config_1 = require("../config");
var BroadcastReporter_1 = require("../reporters/BroadcastReporter");
var ConfigReader_1 = require("../config/ConfigReader");
var Timer_1 = require("../utils/Timer");
function buildMainInjector(cliOptions) {
return typed_inject_1.rootInjector
.provideValue(plugin_1.commonTokens.getLogger, log4js_1.getLogger)
.provideFactory(plugin_1.commonTokens.logger, factoryMethods_1.loggerFactory, plugin_1.Scope.Transient)
.provideValue(_1.coreTokens.cliOptions, cliOptions)
.provideClass(_1.coreTokens.configReader, ConfigReader_1.default)
.provideFactory(_1.coreTokens.configReadFromConfigFile, config_1.readConfig)
.provideFactory(_1.coreTokens.pluginDescriptors, pluginDescriptorsFactory)
.provideFactory(plugin_1.commonTokens.pluginResolver, factoryMethods_1.pluginResolverFactory)
.provideFactory(_1.coreTokens.pluginCreatorConfigEditor, _1.PluginCreator.createFactory(plugin_1.PluginKind.ConfigEditor))
.provideClass(_1.coreTokens.configEditorApplier, config_1.ConfigEditorApplier)
.provideFactory(plugin_1.commonTokens.config, config_1.configFactory)
.provideFactory(plugin_1.commonTokens.options, factoryMethods_1.optionsFactory)
.provideFactory(_1.coreTokens.pluginCreatorReporter, _1.PluginCreator.createFactory(plugin_1.PluginKind.Reporter))
.provideFactory(_1.coreTokens.pluginCreatorTestFramework, _1.PluginCreator.createFactory(plugin_1.PluginKind.TestFramework))
.provideFactory(_1.coreTokens.pluginCreatorMutator, _1.PluginCreator.createFactory(plugin_1.PluginKind.Mutator))
.provideClass(_1.coreTokens.reporter, BroadcastReporter_1.default)
.provideFactory(_1.coreTokens.testFramework, factoryMethods_1.testFrameworkFactory)
.provideClass(_1.coreTokens.timer, Timer_1.default);
}
exports.buildMainInjector = buildMainInjector;
function pluginDescriptorsFactory(config) {
config.plugins.push(require.resolve('../reporters'), require.resolve('../mutators'));
return config.plugins;
}
pluginDescriptorsFactory.inject = plugin_1.tokens(_1.coreTokens.configReadFromConfigFile);
//# sourceMappingURL=buildMainInjector.js.map
;