UNPKG

@cucumber/cucumber

Version:

The official JavaScript implementation of Cucumber.

64 lines 2.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const debug_1 = __importDefault(require("debug")); const configuration_1 = require("../configuration"); const api_1 = require("../api"); const i18n_1 = require("./i18n"); const install_validator_1 = require("./install_validator"); class Cli { argv; cwd; stdout; stderr; env; constructor({ argv, cwd, stdout, stderr = process.stderr, env, }) { this.argv = argv; this.cwd = cwd; this.stdout = stdout; this.stderr = stderr; this.env = env; } async run() { const debugEnabled = debug_1.default.enabled('cucumber'); if (debugEnabled) { await (0, install_validator_1.validateInstall)(); } const { options, configuration: argvConfiguration } = configuration_1.ArgvParser.parse(this.argv); if (options.i18nLanguages) { this.stdout.write((0, i18n_1.getLanguages)()); return { shouldExitImmediately: true, success: true, }; } if (options.i18nKeywords) { this.stdout.write((0, i18n_1.getKeywords)(options.i18nKeywords)); return { shouldExitImmediately: true, success: true, }; } const environment = { cwd: this.cwd, stdout: this.stdout, stderr: this.stderr, env: this.env, debug: debugEnabled, }; const { useConfiguration: configuration, runConfiguration } = await (0, api_1.loadConfiguration)({ file: options.config, profiles: options.profile, provided: argvConfiguration, }, environment); const { success } = await (0, api_1.runCucumber)(runConfiguration, environment); return { shouldExitImmediately: configuration.forceExit, success, }; } } exports.default = Cli; //# sourceMappingURL=index.js.map