UNPKG

stryker-webpack

Version:

[preview] A plugin for Webpack-based projects using Stryker

39 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var DefaultPreset_1 = require("./DefaultPreset"); var PresetLoader = /** @class */ (function () { function PresetLoader(loader) { // Default to require when none is provided in the constructor, used in test scenarios this.loader = loader || /* istanbul ignore next */ require; } PresetLoader.prototype.loadPreset = function (projectPresetName) { var preset = (projectPresetName === 'default') ? new DefaultPreset_1.default() : this.requirePreset("stryker-webpack-" + projectPresetName + "-preset"); try { this.checkInterfaceFunctions(preset); } catch (err) { throw new Error(err.message.replace('<presetId>', "stryker-webpack-" + projectPresetName + "-preset")); } return preset; }; PresetLoader.prototype.requirePreset = function (id) { try { var constructor = this.loader(id); return new constructor.default; } catch (_a) { throw new Error("Cannot find Stryker Webpack preset '" + id + "', try to run npm i " + id + " to install it"); } }; PresetLoader.prototype.checkInterfaceFunctions = function (preset) { if (!preset.getInitFiles) { throw new Error("Cannot find property 'getInitFiles' on '<presetId>'"); } if (!preset.getWebpackConfig) { throw new Error("Cannot find property 'getWebpackConfig' on '<presetId>'"); } }; return PresetLoader; }()); exports.default = PresetLoader; //# sourceMappingURL=PresetLoader.js.map