@rbnx/webdriverio
Version:
webdriverio plugin for nx
48 lines • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addProjectFiles = void 0;
const devkit_1 = require("@nx/devkit");
const wdio_1 = require("../../../wdio");
function addProjectFiles(tree, options) {
const { projectRoot } = options;
const framework = options.framework ??
(0, wdio_1.readPropertyFromConfig)(tree, 'wdio.base.config.ts', 'framework').shift();
const services = [
...new Set([
...(options.services ?? []),
...(0, wdio_1.readPropertyFromConfig)(tree, 'wdio.base.config.ts', 'services'),
]),
];
const templateOptions = {
options,
framework,
protocol: options.protocol ?? getProtocol(services),
wdioFrameworkType: getFrameWorkTypePackage(framework),
wdioServiceTypes: getServiceTypePackage(services),
offsetFromRoot: (0, devkit_1.offsetFromRoot)(projectRoot),
tmpl: '',
};
if (options.browsers) {
options.capabilities = (0, wdio_1.capabilitiesFilter)(options);
}
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '..', 'files'), projectRoot, templateOptions);
}
exports.addProjectFiles = addProjectFiles;
function getFrameWorkTypePackage(framework) {
const frameworkTypePackages = new Map([
['mocha', '@wdio/mocha-framework'],
['jasmine', '@wdio/jasmine-framework'],
['cucumber', '@wdio/cucumber-framework'],
]);
return frameworkTypePackages.get(framework) ?? '';
}
function getServiceTypePackage(services) {
const serviceTypePackages = new Map([['devtools', '@wdio/devtools-service']]);
return services
.map((service) => serviceTypePackages.get(service))
.filter(Boolean);
}
function getProtocol(services) {
return services.includes('devtools') ? 'devtools' : 'webdriver';
}
//# sourceMappingURL=add-project-files.js.map