@cucumber/cucumber
Version:
The official JavaScript implementation of Cucumber.
43 lines • 1.36 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = run;
/* eslint-disable no-console */
/* This is one rare place where we're fine to use process/console directly,
* but other code abstracts those to remain composable and testable. */
const validate_node_engine_version_1 = require("./validate_node_engine_version");
const _1 = __importDefault(require("./"));
function logErrorMessageAndExit(message) {
console.error(message);
process.exit(1);
}
async function run() {
(0, validate_node_engine_version_1.validateNodeEngineVersion)(process.version, (error) => {
console.error(error);
process.exit(1);
}, console.warn);
const cli = new _1.default({
argv: process.argv,
cwd: process.cwd(),
stdout: process.stdout,
stderr: process.stderr,
env: process.env,
});
let result;
try {
result = await cli.run();
}
catch (error) {
logErrorMessageAndExit(error);
}
const exitCode = result.success ? 0 : 1;
if (result.shouldExitImmediately) {
process.exit(exitCode);
}
else {
process.exitCode = exitCode;
}
}
//# sourceMappingURL=run.js.map