@cucumber/cucumber
Version:
The official JavaScript implementation of Cucumber.
66 lines • 2.56 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertConfiguration = convertConfiguration;
const configuration_1 = require("../configuration");
async function convertConfiguration(logger, flatConfiguration, env) {
return {
sources: {
paths: flatConfiguration.paths,
defaultDialect: flatConfiguration.language,
names: flatConfiguration.name,
tagExpression: flatConfiguration.tags,
order: flatConfiguration.order,
shard: flatConfiguration.shard,
},
support: {
requireModules: flatConfiguration.requireModule,
requirePaths: flatConfiguration.require,
importPaths: flatConfiguration.import,
loaders: flatConfiguration.loader,
},
runtime: {
dryRun: flatConfiguration.dryRun,
failFast: flatConfiguration.failFast,
filterStacktraces: !flatConfiguration.backtrace,
parallel: flatConfiguration.parallel,
retry: flatConfiguration.retry,
retryTagFilter: flatConfiguration.retryTagFilter,
strict: flatConfiguration.strict,
worldParameters: flatConfiguration.worldParameters,
},
formats: convertFormats(logger, flatConfiguration, env),
};
}
function convertFormats(logger, flatConfiguration, env) {
const splitFormats = flatConfiguration.format.map((item) => Array.isArray(item) ? item : (0, configuration_1.splitFormatDescriptor)(logger, item));
return {
stdout: [...splitFormats].reverse().find(([, target]) => !target)?.[0] ??
'progress',
files: splitFormats
.filter(([, target]) => !!target)
.reduce((mapped, [type, target]) => {
return {
...mapped,
[target]: type,
};
}, {}),
publish: makePublishConfig(flatConfiguration, env),
options: flatConfiguration.formatOptions,
};
}
function makePublishConfig(flatConfiguration, env) {
const enabled = isPublishing(flatConfiguration, env);
if (!enabled) {
return false;
}
return {
url: env.CUCUMBER_PUBLISH_URL,
token: env.CUCUMBER_PUBLISH_TOKEN,
};
}
function isPublishing(flatConfiguration, env) {
return (flatConfiguration.publish ||
(0, configuration_1.isTruthyString)(env.CUCUMBER_PUBLISH_ENABLED) ||
env.CUCUMBER_PUBLISH_TOKEN !== undefined);
}
//# sourceMappingURL=convert_configuration.js.map
;