UNPKG

cybernaut

Version:

Reliable, zero configuration end-to-end testing in BDD-style.

36 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const Ajv = require("ajv"); const path_1 = require("path"); const defaultConfig = { capabilities: { browserName: 'chrome' }, concurrency: 1, dependencies: ['chromedriver'], exclude: ['**/node_modules/**/*'], include: '**/*.e2e.js', retries: 4, retryDelay: 500, screenshotDirectory: 'screenshots', timeouts: { element: 0, page: 30000, script: 30000 } }; function loadConfig(filename, /* istanbul ignore next */ _require = require) { const customConfig = filename ? _require(path_1.resolve(filename)) : {}; return Object.assign({}, defaultConfig, customConfig); } exports.loadConfig = loadConfig; const schema = require('../config-schema.json'); schema.required = Object.keys(defaultConfig); function validate(config) { const ajv = new Ajv({ allErrors: true }); if (!ajv.validate(schema, config) && ajv.errors) { const separator = '///'; return ajv.errorsText(ajv.errors, { dataVar: 'config', separator }).split(separator); } return []; } exports.validate = validate; //# sourceMappingURL=config.js.map