UNPKG

@cucumber/cucumber

Version:

The official JavaScript implementation of Cucumber.

42 lines 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.loadSupport = loadSupport; const messages_1 = require("@cucumber/messages"); const paths_1 = require("../paths"); const environment_1 = require("../environment"); const support_1 = require("./support"); const plugins_1 = require("./plugins"); /** * Load support code for use in test runs * * @public * @param options - Options required to find the support code * @param environment - Project environment */ async function loadSupport(options, environment = {}) { const mergedEnvironment = (0, environment_1.makeEnvironment)(environment); const { cwd, logger } = mergedEnvironment; const newId = messages_1.IdGenerator.uuid(); const supportCoordinates = Object.assign({ requireModules: [], requirePaths: [], loaders: [], importPaths: [], }, options.support); const pluginManager = await (0, plugins_1.initializeForLoadSupport)(mergedEnvironment); const resolvedPaths = await (0, paths_1.resolvePaths)(logger, cwd, options.sources, supportCoordinates); pluginManager.emit('paths:resolve', resolvedPaths); const { requirePaths, importPaths } = resolvedPaths; const supportCodeLibrary = await (0, support_1.getSupportCodeLibrary)({ logger, cwd, newId, requireModules: supportCoordinates.requireModules, requirePaths, loaders: supportCoordinates.loaders, importPaths, }); await pluginManager.cleanup(); return supportCodeLibrary; } //# sourceMappingURL=load_support.js.map