@wdio/config 5.9.5 → 5.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/constants.js +4 -22
- package/build/index.js +1 -4
- package/build/lib/ConfigParser.js +2 -93
- package/build/shim.js +1 -22
- package/build/utils.js +3 -51
- package/package.json +5 -4
package/build/constants.js
CHANGED
|
@@ -4,12 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.SUPPORTED_HOOKS = exports.DEFAULT_CONFIGS = void 0;
|
|
7
|
-
|
|
8
|
-
require("source-map-support/register");
|
|
9
|
-
|
|
10
7
|
const DEFAULT_TIMEOUT = 10000;
|
|
11
|
-
/* istanbul ignore next */
|
|
12
|
-
|
|
13
8
|
const DEFAULT_CONFIGS = {
|
|
14
9
|
sync: true,
|
|
15
10
|
specs: [],
|
|
@@ -34,10 +29,6 @@ const DEFAULT_CONFIGS = {
|
|
|
34
29
|
execArgv: [],
|
|
35
30
|
runnerEnv: {},
|
|
36
31
|
runner: 'local',
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* framework defaults
|
|
40
|
-
*/
|
|
41
32
|
mochaOpts: {
|
|
42
33
|
timeout: DEFAULT_TIMEOUT
|
|
43
34
|
},
|
|
@@ -47,10 +38,6 @@ const DEFAULT_CONFIGS = {
|
|
|
47
38
|
cucumberOpts: {
|
|
48
39
|
timeout: DEFAULT_TIMEOUT
|
|
49
40
|
},
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* hooks
|
|
53
|
-
*/
|
|
54
41
|
onPrepare: [],
|
|
55
42
|
before: [],
|
|
56
43
|
beforeSession: [],
|
|
@@ -66,18 +53,13 @@ const DEFAULT_CONFIGS = {
|
|
|
66
53
|
after: [],
|
|
67
54
|
onComplete: [],
|
|
68
55
|
onReload: [],
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* cucumber specific hooks
|
|
72
|
-
*/
|
|
73
56
|
beforeFeature: [],
|
|
74
57
|
beforeScenario: [],
|
|
75
58
|
beforeStep: [],
|
|
76
|
-
|
|
59
|
+
afterStep: [],
|
|
77
60
|
afterScenario: [],
|
|
78
|
-
|
|
61
|
+
afterFeature: []
|
|
79
62
|
};
|
|
80
63
|
exports.DEFAULT_CONFIGS = DEFAULT_CONFIGS;
|
|
81
|
-
const SUPPORTED_HOOKS = ['before', 'beforeSession', 'beforeSuite', 'beforeHook', 'beforeTest', 'beforeCommand', 'afterCommand', 'afterTest', 'afterHook', 'afterSuite', 'afterSession', 'after', 'beforeFeature', 'beforeScenario', 'beforeStep', '
|
|
82
|
-
exports.SUPPORTED_HOOKS = SUPPORTED_HOOKS;
|
|
83
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwibmFtZXMiOlsiREVGQVVMVF9USU1FT1VUIiwiREVGQVVMVF9DT05GSUdTIiwic3luYyIsInNwZWNzIiwic3VpdGVzIiwiZXhjbHVkZSIsIm91dHB1dERpciIsInVuZGVmaW5lZCIsImxvZ0xldmVsIiwibG9nTGV2ZWxzIiwiZXhjbHVkZURyaXZlckxvZ3MiLCJiYXNlVXJsIiwiYmFpbCIsIndhaXRmb3JJbnRlcnZhbCIsIndhaXRmb3JUaW1lb3V0IiwiZnJhbWV3b3JrIiwicmVwb3J0ZXJzIiwibWF4SW5zdGFuY2VzIiwibWF4SW5zdGFuY2VzUGVyQ2FwYWJpbGl0eSIsImZpbGVzVG9XYXRjaCIsImNvbm5lY3Rpb25SZXRyeVRpbWVvdXQiLCJjb25uZWN0aW9uUmV0cnlDb3VudCIsImRlYnVnIiwiZXhlY0FyZ3YiLCJydW5uZXJFbnYiLCJydW5uZXIiLCJtb2NoYU9wdHMiLCJ0aW1lb3V0IiwiamFzbWluZU5vZGVPcHRzIiwiZGVmYXVsdFRpbWVvdXRJbnRlcnZhbCIsImN1Y3VtYmVyT3B0cyIsIm9uUHJlcGFyZSIsImJlZm9yZSIsImJlZm9yZVNlc3Npb24iLCJiZWZvcmVTdWl0ZSIsImJlZm9yZUhvb2siLCJiZWZvcmVUZXN0IiwiYmVmb3JlQ29tbWFuZCIsImFmdGVyQ29tbWFuZCIsImFmdGVyVGVzdCIsImFmdGVySG9vayIsImFmdGVyU3VpdGUiLCJhZnRlclNlc3Npb24iLCJhZnRlciIsIm9uQ29tcGxldGUiLCJvblJlbG9hZCIsImJlZm9yZUZlYXR1cmUiLCJiZWZvcmVTY2VuYXJpbyIsImJlZm9yZVN0ZXAiLCJhZnRlckZlYXR1cmUiLCJhZnRlclNjZW5hcmlvIiwiYWZ0ZXJTdGVwIiwiU1VQUE9SVEVEX0hPT0tTIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxNQUFNQSxlQUFlLEdBQUcsS0FBeEI7QUFFQTs7QUFFTyxNQUFNQyxlQUFlLEdBQUc7QUFDM0JDLEVBQUFBLElBQUksRUFBRSxJQURxQjtB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X1RJTUVPVVQgPSAxMDAwMFxuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9DT05GSUdTID0ge1xuICAgIHN5bmM6IHRydWUsXG4gICAgc3BlY3M6IFtdLFxuICAgIHN1aXRlczoge30sXG4gICAgZXhjbHVkZTogW10sXG4gICAgb3V0cHV0RGlyOiB1bmRlZmluZWQsXG4gICAgbG9nTGV2ZWw6ICdpbmZvJyxcbiAgICBsb2dMZXZlbHM6IHt9LFxuICAgIGV4Y2x1ZGVEcml2ZXJMb2dzOiBbXSxcbiAgICBiYXNlVXJsOiB1bmRlZmluZWQsXG4gICAgYmFpbDogMCxcbiAgICB3YWl0Zm9ySW50ZXJ2YWw6IDUwMCxcbiAgICB3YWl0Zm9yVGltZW91dDogNTAwMCxcbiAgICBmcmFtZXdvcms6ICdtb2NoYScsXG4gICAgcmVwb3J0ZXJzOiBbXSxcbiAgICBtYXhJbnN0YW5jZXM6IDEwMCxcbiAgICBtYXhJbnN0YW5jZXNQZXJDYXBhYmlsaXR5OiAxMDAsXG4gICAgZmlsZXNUb1dhdGNoOiBbXSxcbiAgICBjb25uZWN0aW9uUmV0cnlUaW1lb3V0OiA5MDAwMCxcbiAgICBjb25uZWN0aW9uUmV0cnlDb3VudDogMyxcbiAgICBkZWJ1ZzogZmFsc2UsXG4gICAgZXhlY0FyZ3Y6IFtdLFxuICAgIHJ1bm5lckVudjoge30sXG4gICAgcnVubmVyOiAnbG9jYWwnLFxuXG4gICAgLyoqXG4gICAgICogZnJhbWV3b3JrIGRlZmF1bHRzXG4gICAgICovXG4gICAgbW9jaGFPcHRzOiB7XG4gICAgICAgIHRpbWVvdXQ6IERFRkFVTFRfVElNRU9VVFxuICAgIH0sXG4gICAgamFzbWluZU5vZGVPcHRzOiB7XG4gICAgICAgIGRlZmF1bHRUaW1lb3V0SW50ZXJ2YWw6IERFRkFVTFRfVElNRU9VVFxuICAgIH0sXG4gICAgY3VjdW1iZXJPcHRzOiB7XG4gICAgICAgIHRpbWVvdXQ6IERFRkFVTFRfVElNRU9VVFxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBob29rc1xuICAgICAqL1xuICAgIG9uUHJlcGFyZTogW10sXG4gICAgYmVmb3JlOiBbXSxcbiAgICBiZWZvcmVTZXNzaW9uOiBbXSxcbiAgICBiZWZvcmVTdWl0ZTogW10sXG4gICAgYmVmb3JlSG9vazogW10sXG4gICAgYmVmb3JlVGVzdDogW10sXG4gICAgYmVmb3JlQ29tbWFuZDogW10sXG4gICAgYWZ0ZXJDb21tYW5kOiBbXSxcbiAgICBhZnRlclRlc3Q6IFtdLFxuICAgIGFmdGVySG9vazogW10sXG4gICAgYWZ0ZXJTdWl0ZTogW10sXG4gICAgYWZ0ZXJTZXNzaW9uOiBbXSxcbiAgICBhZnRlcjogW10sXG4gICAgb25Db21wbGV0ZTogW10sXG4gICAgb25SZWxvYWQ6IFtdLFxuXG4gICAgLyoqXG4gICAgICogY3VjdW1iZXIgc3BlY2lmaWMgaG9va3NcbiAgICAgKi9cbiAgICBiZWZvcmVGZWF0dXJlOiBbXSxcbiAgICBiZWZvcmVTY2VuYXJpbzogW10sXG4gICAgYmVmb3JlU3RlcDogW10sXG4gICAgYWZ0ZXJGZWF0dXJlOiBbXSxcbiAgICBhZnRlclNjZW5hcmlvOiBbXSxcbiAgICBhZnRlclN0ZXA6IFtdXG59XG5cbmV4cG9ydCBjb25zdCBTVVBQT1JURURfSE9PS1MgPSBbXG4gICAgJ2JlZm9yZScsICdiZWZvcmVTZXNzaW9uJywgJ2JlZm9yZVN1aXRlJywgJ2JlZm9yZUhvb2snLCAnYmVmb3JlVGVzdCcsICdiZWZvcmVDb21tYW5kJyxcbiAgICAnYWZ0ZXJDb21tYW5kJywgJ2FmdGVyVGVzdCcsICdhZnRlckhvb2snLCAnYWZ0ZXJTdWl0ZScsICdhZnRlclNlc3Npb24nLCAnYWZ0ZXInLFxuICAgICdiZWZvcmVGZWF0dXJlJywgJ2JlZm9yZVNjZW5hcmlvJywgJ2JlZm9yZVN0ZXAnLCAnYWZ0ZXJGZWF0dXJlJyxcbiAgICAnYWZ0ZXJTY2VuYXJpbycsICdhZnRlclN0ZXAnLCAnb25SZWxvYWQnLCAnb25QcmVwYXJlJywgJ29uQ29tcGxldGUnXG5dXG4iXX0=
|
|
64
|
+
const SUPPORTED_HOOKS = ['before', 'beforeSession', 'beforeSuite', 'beforeHook', 'beforeTest', 'beforeCommand', 'afterCommand', 'afterTest', 'afterHook', 'afterSuite', 'afterSession', 'after', 'beforeFeature', 'beforeScenario', 'beforeStep', 'afterStep', 'afterScenario', 'afterFeature', 'onReload', 'onPrepare', 'onComplete'];
|
|
65
|
+
exports.SUPPORTED_HOOKS = SUPPORTED_HOOKS;
|
package/build/index.js
CHANGED
|
@@ -76,8 +76,6 @@ Object.defineProperty(exports, "DEFAULT_CONFIGS", {
|
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
78
|
|
|
79
|
-
require("source-map-support/register");
|
|
80
|
-
|
|
81
79
|
var _ConfigParser = _interopRequireDefault(require("./lib/ConfigParser"));
|
|
82
80
|
|
|
83
81
|
var _utils = require("./utils");
|
|
@@ -86,5 +84,4 @@ var _shim = require("./shim");
|
|
|
86
84
|
|
|
87
85
|
var _constants = require("./constants");
|
|
88
86
|
|
|
89
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
90
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUlBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbmZpZ1BhcnNlciBmcm9tICcuL2xpYi9Db25maWdQYXJzZXInXG5pbXBvcnQgeyB2YWxpZGF0ZUNvbmZpZywgZ2V0U2F1Y2VFbmRwb2ludCwgZGV0ZWN0QmFja2VuZCB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQge1xuICAgIHdyYXBDb21tYW5kLCBydW5GbkluRmliZXJDb250ZXh0LCBydW5UZXN0SW5GaWJlckNvbnRleHQsIGV4ZWN1dGVIb29rc1dpdGhBcmdzLFxuICAgIGhhc1dkaW9TeW5jU3VwcG9ydCwgZXhlY3V0ZVN5bmMsIGV4ZWN1dGVBc3luY1xufSBmcm9tICcuL3NoaW0nXG5pbXBvcnQgeyBERUZBVUxUX0NPTkZJR1MgfSBmcm9tICcuL2NvbnN0YW50cydcblxuZXhwb3J0IHtcbiAgICB2YWxpZGF0ZUNvbmZpZyxcbiAgICBnZXRTYXVjZUVuZHBvaW50LFxuICAgIGRldGVjdEJhY2tlbmQsXG4gICAgQ29uZmlnUGFyc2VyLFxuXG4gICAgLyoqXG4gICAgICogd2Rpby1zeW5jIHNoaW1cbiAgICAgKi9cbiAgICB3cmFwQ29tbWFuZCxcbiAgICBleGVjdXRlU3luYyxcbiAgICBleGVjdXRlQXN5bmMsXG4gICAgcnVuRm5JbkZpYmVyQ29udGV4dCxcbiAgICBydW5UZXN0SW5GaWJlckNvbnRleHQsXG4gICAgZXhlY3V0ZUhvb2tzV2l0aEFyZ3MsXG4gICAgaGFzV2Rpb1N5bmNTdXBwb3J0LFxuXG4gICAgLyoqXG4gICAgICogY29uc3RhbnRzXG4gICAgICovXG4gICAgREVGQVVMVF9DT05GSUdTXG59XG4iXX0=
|
|
87
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
require("source-map-support/register");
|
|
9
|
-
|
|
10
8
|
var _fs = _interopRequireDefault(require("fs"));
|
|
11
9
|
|
|
12
10
|
var _path = _interopRequireDefault(require("path"));
|
|
@@ -33,11 +31,6 @@ class ConfigParser {
|
|
|
33
31
|
this._config = _constants.DEFAULT_CONFIGS;
|
|
34
32
|
this._capabilities = [];
|
|
35
33
|
}
|
|
36
|
-
/**
|
|
37
|
-
* merges config file with default values
|
|
38
|
-
* @param {String} filename path of file relative to current directory
|
|
39
|
-
*/
|
|
40
|
-
|
|
41
34
|
|
|
42
35
|
addConfigFile(filename) {
|
|
43
36
|
if (typeof filename !== 'string') {
|
|
@@ -47,22 +40,10 @@ class ConfigParser {
|
|
|
47
40
|
var filePath = _path.default.resolve(process.cwd(), filename);
|
|
48
41
|
|
|
49
42
|
try {
|
|
50
|
-
/**
|
|
51
|
-
* clone the original config
|
|
52
|
-
*/
|
|
53
43
|
var fileConfig = (0, _deepmerge.default)(require(filePath).config, {}, MERGE_OPTIONS);
|
|
54
|
-
/**
|
|
55
|
-
* merge capabilities
|
|
56
|
-
*/
|
|
57
|
-
|
|
58
44
|
const defaultTo = Array.isArray(this._capabilities) ? [] : {};
|
|
59
45
|
this._capabilities = (0, _deepmerge.default)(this._capabilities, fileConfig.capabilities || defaultTo, MERGE_OPTIONS);
|
|
60
46
|
delete fileConfig.capabilities;
|
|
61
|
-
/**
|
|
62
|
-
* Add hooks from the file config and remove them from file config object to avoid
|
|
63
|
-
* complications when using merge function
|
|
64
|
-
*/
|
|
65
|
-
|
|
66
47
|
this.addService(fileConfig);
|
|
67
48
|
|
|
68
49
|
for (let hookName of _constants.SUPPORTED_HOOKS) {
|
|
@@ -70,18 +51,8 @@ class ConfigParser {
|
|
|
70
51
|
}
|
|
71
52
|
|
|
72
53
|
this._config = (0, _deepmerge.default)(this._config, fileConfig, MERGE_OPTIONS);
|
|
73
|
-
/**
|
|
74
|
-
* For Sauce Labs RDC we need to determine if the config file has a `testobject_api_key`
|
|
75
|
-
* If so, we need to provide a boolean to the `detectBackend` to set the correct hostname
|
|
76
|
-
*
|
|
77
|
-
* NOTE: This will not work for multi remote
|
|
78
|
-
*/
|
|
79
54
|
|
|
80
55
|
const isRDC = Array.isArray(this._capabilities) && this._capabilities.some(capability => 'testobject_api_key' in capability);
|
|
81
|
-
/**
|
|
82
|
-
* detect Selenium backend
|
|
83
|
-
*/
|
|
84
|
-
|
|
85
56
|
|
|
86
57
|
this._config = (0, _deepmerge.default)((0, _utils.detectBackend)(this._config, isRDC), this._config, MERGE_OPTIONS);
|
|
87
58
|
} catch (e) {
|
|
@@ -89,35 +60,20 @@ class ConfigParser {
|
|
|
89
60
|
throw e;
|
|
90
61
|
}
|
|
91
62
|
}
|
|
92
|
-
/**
|
|
93
|
-
* merge external object with config object
|
|
94
|
-
* @param {Object} object desired object to merge into the config object
|
|
95
|
-
*/
|
|
96
|
-
|
|
97
63
|
|
|
98
64
|
merge(object = {}) {
|
|
99
65
|
this._config = (0, _deepmerge.default)(this._config, object, MERGE_OPTIONS);
|
|
100
66
|
let spec = Array.isArray(object.spec) ? object.spec : [];
|
|
101
67
|
let exclude = Array.isArray(object.exclude) ? object.exclude : [];
|
|
102
|
-
/**
|
|
103
|
-
* overwrite config specs that got piped into the wdio command
|
|
104
|
-
*/
|
|
105
68
|
|
|
106
69
|
if (object.specs && object.specs.length > 0) {
|
|
107
70
|
this._config.specs = object.specs;
|
|
108
71
|
} else if (object.exclude && object.exclude.length > 0) {
|
|
109
72
|
this._config.exclude = object.exclude;
|
|
110
73
|
}
|
|
111
|
-
/**
|
|
112
|
-
* merge capabilities
|
|
113
|
-
*/
|
|
114
|
-
|
|
115
74
|
|
|
116
75
|
const defaultTo = Array.isArray(this._capabilities) ? [] : {};
|
|
117
76
|
this._capabilities = (0, _deepmerge.default)(this._capabilities, this._config.capabilities || defaultTo, MERGE_OPTIONS);
|
|
118
|
-
/**
|
|
119
|
-
* run single spec file only, regardless of multiple-spec specification
|
|
120
|
-
*/
|
|
121
77
|
|
|
122
78
|
if (spec.length > 0) {
|
|
123
79
|
this._config.specs = [...this.setFilePathToFilterOptions(spec, this._config.specs)];
|
|
@@ -126,12 +82,6 @@ class ConfigParser {
|
|
|
126
82
|
if (exclude.length > 0) {
|
|
127
83
|
this._config.exclude = [...this.setFilePathToFilterOptions(exclude, this._config.exclude)];
|
|
128
84
|
}
|
|
129
|
-
/**
|
|
130
|
-
* user and key could get added via cli arguments so we need to detect again
|
|
131
|
-
* Note: cli arguments are on the right and overwrite config
|
|
132
|
-
* if host and port are default, remove them to get new values
|
|
133
|
-
*/
|
|
134
|
-
|
|
135
85
|
|
|
136
86
|
let defaultBackend = (0, _utils.detectBackend)({});
|
|
137
87
|
|
|
@@ -143,11 +93,6 @@ class ConfigParser {
|
|
|
143
93
|
|
|
144
94
|
this._config = (0, _deepmerge.default)((0, _utils.detectBackend)(this._config), this._config, MERGE_OPTIONS);
|
|
145
95
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Add hooks from an existing service to the runner config.
|
|
148
|
-
* @param {Object} service - an object that contains hook methods.
|
|
149
|
-
*/
|
|
150
|
-
|
|
151
96
|
|
|
152
97
|
addService(service) {
|
|
153
98
|
for (let hookName of _constants.SUPPORTED_HOOKS) {
|
|
@@ -166,25 +111,17 @@ class ConfigParser {
|
|
|
166
111
|
}
|
|
167
112
|
}
|
|
168
113
|
}
|
|
169
|
-
/**
|
|
170
|
-
* get excluded files from config pattern
|
|
171
|
-
*/
|
|
172
|
-
|
|
173
114
|
|
|
174
115
|
getSpecs(capSpecs, capExclude) {
|
|
175
116
|
let specs = ConfigParser.getFilePaths(this._config.specs);
|
|
176
117
|
let spec = Array.isArray(this._config.spec) ? this._config.spec : [];
|
|
177
118
|
let exclude = ConfigParser.getFilePaths(this._config.exclude);
|
|
178
119
|
let suites = Array.isArray(this._config.suite) ? this._config.suite : [];
|
|
179
|
-
/**
|
|
180
|
-
* check if user has specified a specific suites to run
|
|
181
|
-
*/
|
|
182
120
|
|
|
183
121
|
if (suites.length > 0) {
|
|
184
122
|
let suiteSpecs = [];
|
|
185
123
|
|
|
186
124
|
for (let suiteName of suites) {
|
|
187
|
-
// ToDo: log warning if suite was not found
|
|
188
125
|
let suite = this._config.suites[suiteName];
|
|
189
126
|
|
|
190
127
|
if (suite && Array.isArray(suite)) {
|
|
@@ -194,9 +131,7 @@ class ConfigParser {
|
|
|
194
131
|
|
|
195
132
|
if (suiteSpecs.length === 0) {
|
|
196
133
|
throw new Error(`The suite(s) "${suites.join('", "')}" you specified don't exist ` + 'in your config file or doesn\'t contain any files!');
|
|
197
|
-
}
|
|
198
|
-
// Removing any duplicate tests that could be included
|
|
199
|
-
|
|
134
|
+
}
|
|
200
135
|
|
|
201
136
|
let tmpSpecs = spec.length > 0 ? [...specs, ...suiteSpecs] : suiteSpecs;
|
|
202
137
|
|
|
@@ -222,16 +157,6 @@ class ConfigParser {
|
|
|
222
157
|
|
|
223
158
|
return specs.filter(spec => !exclude.includes(spec));
|
|
224
159
|
}
|
|
225
|
-
/**
|
|
226
|
-
* sets config attribute with file paths from filtering
|
|
227
|
-
* options from cli argument
|
|
228
|
-
*
|
|
229
|
-
* @param {String} cliArgFileList list of files in a string from
|
|
230
|
-
* @param {Object} config config object that stores the spec and exlcude attributes
|
|
231
|
-
* cli argument
|
|
232
|
-
* @return {String[]} List of files that should be included or excluded
|
|
233
|
-
*/
|
|
234
|
-
|
|
235
160
|
|
|
236
161
|
setFilePathToFilterOptions(cliArgFileList, config) {
|
|
237
162
|
const filesToFilter = new Set();
|
|
@@ -254,18 +179,10 @@ class ConfigParser {
|
|
|
254
179
|
|
|
255
180
|
return filesToFilter;
|
|
256
181
|
}
|
|
257
|
-
/**
|
|
258
|
-
* return configs
|
|
259
|
-
*/
|
|
260
|
-
|
|
261
182
|
|
|
262
183
|
getConfig() {
|
|
263
184
|
return this._config;
|
|
264
185
|
}
|
|
265
|
-
/**
|
|
266
|
-
* return capabilities
|
|
267
|
-
*/
|
|
268
|
-
|
|
269
186
|
|
|
270
187
|
getCapabilities(i) {
|
|
271
188
|
if (typeof i === 'number' && this._capabilities[i]) {
|
|
@@ -274,13 +191,6 @@ class ConfigParser {
|
|
|
274
191
|
|
|
275
192
|
return this._capabilities;
|
|
276
193
|
}
|
|
277
|
-
/**
|
|
278
|
-
* returns a flatten list of globed files
|
|
279
|
-
*
|
|
280
|
-
* @param {String[]} filenames list of files to glob
|
|
281
|
-
* @return {String[]} list of files
|
|
282
|
-
*/
|
|
283
|
-
|
|
284
194
|
|
|
285
195
|
static getFilePaths(patterns, omitWarnings) {
|
|
286
196
|
let files = [];
|
|
@@ -311,5 +221,4 @@ class ConfigParser {
|
|
|
311
221
|
|
|
312
222
|
}
|
|
313
223
|
|
|
314
|
-
exports.default = ConfigParser;
|
|
315
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvQ29uZmlnUGFyc2VyLmpzIl0sIm5hbWVzIjpbImxvZyIsIk1FUkdFX09QVElPTlMiLCJjbG9uZSIsIkNvbmZpZ1BhcnNlciIsImNvbnN0cnVjdG9yIiwiX2NvbmZpZyIsIkRFRkFVTFRfQ09ORklHUyIsIl9jYXBhYmlsaXRpZXMiLCJhZGRDb25maWdGaWxlIiwiZmlsZW5hbWUiLCJFcnJvciIsImZpbGVQYXRoIiwicGF0aCIsInJlc29sdmUiLCJwcm9jZXNzIiwiY3dkIiwiZmlsZUNvbmZpZyIsInJlcXVpcmUiLCJjb25maWciLCJkZWZhdWx0VG8iLCJBcnJheSIsImlzQXJyYXkiLCJjYXBhYmlsaXRpZXMiLCJhZGRTZXJ2aWNlIiwiaG9va05hbWUiLCJTVVBQT1JURURfSE9PS1MiLCJpc1JEQyIsInNvbWUiLCJjYXBhYmlsaXR5IiwiZSIsImVycm9yIiwibWVzc2FnZSIsIm1lcmdlIiwib2JqZWN0Iiwic3BlYyIsImV4Y2x1ZGUiLCJzcGVjcyIsImxlbmd0aCIsInNldEZpbGVQYXRoVG9GaWx0ZXJPcHRpb25zIiwiZGVmYXVsdEJhY2tlbmQiLCJob3N0bmFtZSIsInBvcnQiLCJwcm90b2NvbCIsInNlcnZpY2UiLCJwdXNoIiwiYmluZCIsImhvb2siLCJnZXRTcGVjcyIsImNhcFNwZWNzIiwiY2FwRXhjbHVkZSIsImdldEZpbGVQYXRocyIsInN1aXRlcyIsInN1aXRlIiwic3VpdGVTcGVjcyIsInN1aXRlTmFtZSIsImNvbmNhdCIsImpvaW4iLCJ0bXBTcGVjcyIsIlNldCIsImZpbHRlciIsImluY2x1ZGVzIiwiY2xpQXJnRmlsZUxpc3QiLCJmaWxlc1RvRmlsdGVyIiwiZmlsZUxpc3QiLCJmb3JFYWNoIiwiZmlsdGVyZWRGaWxlIiwiZnMiLCJleGlzdHNTeW5jIiwibHN0YXRTeW5jIiwiaXNGaWxlIiwiYWRkIiwiZmlsZSIsIm1hdGNoIiwic2l6ZSIsImdldENvbmZpZyIsImdldENhcGFiaWxpdGllcyIsImkiLCJwYXR0ZXJucyIsIm9taXRXYXJuaW5ncyIsImZpbGVzIiwicGF0dGVybiIsImZpbGVuYW1lcyIsImdsb2IiLCJzeW5jIiwic2xpY2UiLCJtYXAiLCJpc0Fic29sdXRlIiwibm9ybWFsaXplIiwid2FybiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7Ozs7QUFFQSxNQUFNQSxHQUFHLEdBQUcscUJBQU8sMkJBQVAsQ0FBWjtBQUNBLE1BQU1DLGFBQWEsR0FBRztBQUFFQyxFQUFBQSxLQUFLLEVBQUU7QUFBVCxDQUF0Qjs7QUFFZSxNQUFNQyxZQUFOLENBQW1CO0FBQzlCQyxFQUFBQSxXQUFXLEdBQUk7QUFDWCxTQUFLQyxPQUFMLEdBQWVDLDBCQUFmO0FBQ0EsU0FBS0MsYUFBTCxHQUFxQixFQUFyQjtBQUNIO0FBRUQ7Ozs7OztBQUlBQyxFQUFBQSxhQUFhLENBQUVDLFFBQUYsRUFBWTtBQUNyQixRQUFJLE9BQU9BLFFBQVAsS0FBb0IsUUFBeEIsRUFBa0M7QUFDOUIsWUFBTSxJQUFJQyxLQUFKLENBQVUsaUNBQVYsQ0FBTjtBQUNIOztBQUVELFFBQUlDLFFBQVEsR0FBR0MsY0FBS0MsT0FBTCxDQUFhQyxPQUFPLENBQUNDLEdBQVIsRUFBYixFQUE0Qk4sUUFBNUIsQ0FBZjs7QUFFQSxRQUFJO0FBQ0E7OztBQUdBLFVBQUlPLFVBQVUsR0FBRyx3QkFBTUMsT0FBTyxDQUFDTixRQUFELENBQVAsQ0FBa0JPLE1BQXhCLEVBQWdDLEVBQWhDLEVBQW9DakIsYUFBcEMsQ0FBakI7QUFFQTs7OztBQUdBLFlBQU1rQixTQUFTLEdBQUdDLEtBQUssQ0FBQ0MsT0FBTixDQUFjLEtBQUtkLGFBQW5CLElBQW9DLEVBQXBDLEdBQXlDLEVBQTNEO0FBQ0EsV0FBS0EsYUFBTCxHQUFxQix3QkFBTSxLQUFLQSxhQUFYLEVBQTBCUyxVQUFVLENBQUNNLFlBQVgsSUFBMkJILFNBQXJELEVBQWdFbEIsYUFBaEUsQ0FBckI7QUFDQSxhQUFPZSxVQUFVLENBQUNNLFlBQWxCO0FB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QUgsTUFBQUEsU0FBUyxHQUFHQSxTQUFTLENBQUNJLEdBQVYsQ0FBYzVFLFFBQVEsSUFDOUJHLGNBQUswRSxVQUFMLENBQWdCN0UsUUFBaEIsSUFBNEJHLGNBQUsyRSxTQUFMLENBQWU5RSxRQUFmLENBQTVCLEdBQXVERyxjQUFLQyxPQUFMLENBQWFDLE9BQU8sQ0FBQ0MsR0FBUixFQUFiLEVBQTRCTixRQUE1QixDQUQvQyxDQUFaOztBQUdBLFVBQUl3RSxTQUFTLENBQUM1QyxNQUFWLEtBQXFCLENBQXJCLElBQTBCLENBQUN5QyxZQUEvQixFQUE2QztBQUN6QzlFLFFBQUFBLEdBQUcsQ0FBQ3dGLElBQUosQ0FBUyxTQUFULEVBQW9CUixPQUFwQixFQUE2Qix3QkFBN0I7QUFDSDs7QUFFREQsTUFBQUEsS0FBSyxHQUFHLHdCQUFNQSxLQUFOLEVBQWFFLFNBQWIsRUFBd0JoRixhQUF4QixDQUFSO0FBQ0g7O0FBRUQsV0FBTzhFLEtBQVA7QUFDSDs7QUFsUjZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzJ1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBnbG9iIGZyb20gJ2dsb2InXG5pbXBvcnQgbWVyZ2UgZnJvbSAnZGVlcG1lcmdlJ1xuXG5pbXBvcnQgbG9nZ2VyIGZyb20gJ0B3ZGlvL2xvZ2dlcidcblxuaW1wb3J0IHsgZGV0ZWN0QmFja2VuZCB9IGZyb20gJy4uL3V0aWxzJ1xuXG5pbXBvcnQgeyBERUZBVUxUX0NPTkZJR1MsIFNVUFBPUlRFRF9IT09LUyB9IGZyb20gJy4uL2NvbnN0YW50cydcblxuY29uc3QgbG9nID0gbG9nZ2VyKCdAd2Rpby9jb25maWc6Q29uZmlnUGFyc2VyJylcbmNvbnN0IE1FUkdFX09QVElPTlMgPSB7IGNsb25lOiBmYWxzZSB9XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbmZpZ1BhcnNlciB7XG4gICAgY29uc3RydWN0b3IgKCkge1xuICAgICAgICB0aGlzLl9jb25maWcgPSBERUZBVUxUX0NPTkZJR1NcbiAgICAgICAgdGhpcy5fY2FwYWJpbGl0aWVzID0gW11cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBtZXJnZXMgY29uZmlnIGZpbGUgd2l0aCBkZWZhdWx0IHZhbHVlc1xuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBmaWxlbmFtZSBwYXRoIG9mIGZpbGUgcmVsYXRpdmUgdG8gY3VycmVudCBkaXJlY3RvcnlcbiAgICAgKi9cbiAgICBhZGRDb25maWdGaWxlIChmaWxlbmFtZSkge1xuICAgICAgICBpZiAodHlwZW9mIGZpbGVuYW1lICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdhZGRDb25maWdGaWxlIHJlcXVpcmVzIGZpbGVwYXRoJylcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBmaWxlUGF0aCA9IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBmaWxlbmFtZSlcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBjbG9uZSB0aGUgb3JpZ2luYWwgY29uZmlnXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHZhciBmaWxlQ29uZmlnID0gbWVyZ2UocmVxdWlyZShmaWxlUGF0aCkuY29uZmlnLCB7fSwgTUVSR0VfT1BUSU9OUylcblxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBtZXJnZSBjYXBhYmlsaXRpZXNcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgZGVmYXVsdFRvID0gQXJyYXkuaXNBcnJheSh0aGlzLl9jYXBhYmlsaXRpZXMpID8gW10gOiB7fVxuICAgICAgICAgICAgdGhpcy5fY2FwYWJpbGl0aWVzID0gbWVyZ2UodGhpcy5fY2FwYWJpbGl0aWVzLCBmaWxlQ29uZmlnLmNhcGFiaWxpdGllcyB8fCBkZWZhdWx0VG8sIE1FUkdFX09QVElPTlMpXG4gICAgICAgICAgICBkZWxldGUgZmlsZUNvbmZpZy5jYXBhYmlsaXRpZXNcblxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBBZGQgaG9va3MgZnJvbSB0aGUgZmlsZSBjb25maWcgYW5kIHJlbW92ZSB0aGVtIGZyb20gZmlsZSBjb25maWcgb2JqZWN0IHRvIGF2b2lkXG4gICAgICAgICAgICAgKiBjb21wbGljYXRpb25zIHdoZW4gdXNpbmcgbWVyZ2UgZnVuY3Rpb25cbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgdGhpcy5hZGRTZXJ2aWNlKGZpbGVDb25maWcpXG4gICAgICAgICAgICBmb3IgKGxldCBob29rTmFtZSBvZiBTVVBQT1JURURfSE9PS1MpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgZmlsZUNvbmZpZ1tob29rTmFtZV1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fY29uZmlnID0gbWVyZ2UodGhpcy5fY29uZmlnLCBmaWxlQ29uZmlnLCBNRVJHRV9PUFRJT05TKVxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIEZvciBTYXVjZSBMYWJzIFJEQyB3ZSBuZWVkIHRvIGRldGVybWluZSBpZiB0aGUgY29uZmlnIGZpbGUgaGFzIGEgYHRlc3RvYmplY3RfYXBpX2tleWBcbiAgICAgICAgICAgICAqIElmIHNvLCB3ZSBuZWVkIHRvIHByb3ZpZGUgYSBib29sZWFuIHRvIHRoZSBgZGV0ZWN0QmFja2VuZGAgdG8gc2V0IHRoZSBjb3JyZWN0IGhvc3RuYW1lXG4gICAgICAgICAgICAgKlxuICAgICAgICAgICAgICogTk9URTogVGhpcyB3aWxsIG5vdCB3b3JrIGZvciBtdWx0aSByZW1vdGVcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgY29uc3QgaXNSREMgPSBBcnJheS5pc0FycmF5KHRoaXMuX2NhcGFiaWxpdGllcykgJiYgdGhpcy5fY2FwYWJpbGl0aWVzLnNvbWUoY2FwYWJpbGl0eSA9PiAndGVzdG9iamVjdF9hcGlfa2V5JyBpbiBjYXBhYmlsaXR5KVxuXG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIGRldGVjdCBTZWxlbml1bSBiYWNrZW5kXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZyA9IG1lcmdlKGRldGVjdEJhY2tlbmQodGhpcy5fY29uZmlnLCBpc1JEQyksIHRoaXMuX2NvbmZpZywgTUVSR0VfT1BUSU9OUylcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgbG9nLmVycm9yKGBGYWlsZWQgbG9hZGluZyBjb25maWd1cmF0aW9uIGZpbGU6ICR7ZmlsZVBhdGh9OmAsIGUubWVzc2FnZSlcbiAgICAgICAgICAgIHRocm93IGVcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIG1lcmdlIGV4dGVybmFsIG9iamVjdCB3aXRoIGNvbmZpZyBvYmplY3RcbiAgICAgKiBAcGFyYW0gIHtPYmplY3R9IG9iamVjdCAgZGVzaXJlZCBvYmplY3QgdG8gbWVyZ2UgaW50byB0aGUgY29uZmlnIG9iamVjdFxuICAgICAqL1xuICAgIG1lcmdlIChvYmplY3QgPSB7fSkge1xuICAgICAgICB0aGlzLl9jb25maWcgPSBtZXJnZSh0aGlzLl9jb25maWcsIG9iamVjdCwgTUVSR0VfT1BUSU9OUylcbiAgICAgICAgbGV0IHNwZWMgPSBBcnJheS5pc0FycmF5KG9iamVjdC5zcGVjKSA/IG9iamVjdC5zcGVjIDogW11cbiAgICAgICAgbGV0IGV4Y2x1ZGUgPSBBcnJheS5pc0FycmF5KG9iamVjdC5leGNsdWRlKSA/IG9iamVjdC5leGNsdWRlIDogW11cblxuICAgICAgICAvKipcbiAgICAgICAgICogb3ZlcndyaXRlIGNvbmZpZyBzcGVjcyB0aGF0IGdvdCBwaXBlZCBpbnRvIHRoZSB3ZGlvIGNvbW1hbmRcbiAgICAgICAgICovXG4gICAgICAgIGlmIChvYmplY3Quc3BlY3MgJiYgb2JqZWN0LnNwZWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5zcGVjcyA9IG9iamVjdC5zcGVjc1xuICAgICAgICB9IGVsc2UgaWYgKG9iamVjdC5leGNsdWRlICYmIG9iamVjdC5leGNsdWRlLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5leGNsdWRlID0gb2JqZWN0LmV4Y2x1ZGVcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBtZXJnZSBjYXBhYmlsaXRpZXNcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0IGRlZmF1bHRUbyA9IEFycmF5LmlzQXJyYXkodGhpcy5fY2FwYWJpbGl0aWVzKSA/IFtdIDoge31cbiAgICAgICAgdGhpcy5fY2FwYWJpbGl0aWVzID0gbWVyZ2UodGhpcy5fY2FwYWJpbGl0aWVzLCB0aGlzLl9jb25maWcuY2FwYWJpbGl0aWVzIHx8IGRlZmF1bHRUbywgTUVSR0VfT1BUSU9OUylcblxuICAgICAgICAvKipcbiAgICAgICAgICogcnVuIHNpbmdsZSBzcGVjIGZpbGUgb25seSwgcmVnYXJkbGVzcyBvZiBtdWx0aXBsZS1zcGVjIHNwZWNpZmljYXRpb25cbiAgICAgICAgICovXG4gICAgICAgIGlmIChzcGVjLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5zcGVjcyA9IFsuLi50aGlzLnNldEZpbGVQYXRoVG9GaWx0ZXJPcHRpb25zKHNwZWMsIHRoaXMuX2NvbmZpZy5zcGVjcyldXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV4Y2x1ZGUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdGhpcy5fY29uZmlnLmV4Y2x1ZGUgPSBbLi4udGhpcy5zZXRGaWxlUGF0aFRvRmlsdGVyT3B0aW9ucyhleGNsdWRlLCB0aGlzLl9jb25maWcuZXhjbHVkZSldXG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogdXNlciBhbmQga2V5IGNvdWxkIGdldCBhZGRlZCB2aWEgY2xpIGFyZ3VtZW50cyBzbyB3ZSBuZWVkIHRvIGRldGVjdCBhZ2FpblxuICAgICAgICAgKiBOb3RlOiBjbGkgYXJndW1lbnRzIGFyZSBvbiB0aGUgcmlnaHQgYW5kIG92ZXJ3cml0ZSBjb25maWdcbiAgICAgICAgICogaWYgaG9zdCBhbmQgcG9ydCBhcmUgZGVmYXVsdCwgcmVtb3ZlIHRoZW0gdG8gZ2V0IG5ldyB2YWx1ZXNcbiAgICAgICAgICovXG4gICAgICAgIGxldCBkZWZhdWx0QmFja2VuZCA9IGRldGVjdEJhY2tlbmQoe30pXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0aGlzLl9jb25maWcuaG9zdG5hbWUgPT09IGRlZmF1bHRCYWNrZW5kLmhvc3RuYW1lKSAmJlxuICAgICAgICAgICAgKHRoaXMuX2NvbmZpZy5wb3J0ID09PSBkZWZhdWx0QmFja2VuZC5wb3J0KSAmJlxuICAgICAgICAgICAgKHRoaXMuX2NvbmZpZy5wcm90b2NvbCA9PT0gZGVmYXVsdEJhY2tlbmQucHJvdG9jb2wpXG4gICAgICAgICkge1xuICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2NvbmZpZy5ob3N0bmFtZVxuICAgICAgICAgICAgZGVsZXRlIHRoaXMuX2NvbmZpZy5wb3J0XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5fY29uZmlnLnByb3RvY29sXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9jb25maWcgPSBtZXJnZShkZXRlY3RCYWNrZW5kKHRoaXMuX2NvbmZpZyksIHRoaXMuX2NvbmZpZywgTUVSR0VfT1BUSU9OUylcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgaG9va3MgZnJvbSBhbiBleGlzdGluZyBzZXJ2aWNlIHRvIHRoZSBydW5uZXIgY29uZmlnLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzZXJ2aWNlIC0gYW4gb2JqZWN0IHRoYXQgY29udGFpbnMgaG9vayBtZXRob2RzLlxuICAgICAqL1xuICAgIGFkZFNlcnZpY2UgKHNlcnZpY2UpIHtcbiAgICAgICAgZm9yIChsZXQgaG9va05hbWUgb2YgU1VQUE9SVEVEX0hPT0tTKSB7XG4gICAgICAgICAgICBpZiAoIXNlcnZpY2VbaG9va05hbWVdKSB7XG4gICAgICAgICAgICAgICAgY29udGludWVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBzZXJ2aWNlW2hvb2tOYW1lXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NvbmZpZ1tob29rTmFtZV0ucHVzaChzZXJ2aWNlW2hvb2tOYW1lXS5iaW5kKHNlcnZpY2UpKVxuICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHNlcnZpY2VbaG9va05hbWVdKSkge1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGhvb2sgb2Ygc2VydmljZVtob29rTmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBob29rID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb25maWdbaG9va05hbWVdLnB1c2goaG9vay5iaW5kKHNlcnZpY2UpKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogZ2V0IGV4Y2x1ZGVkIGZpbGVzIGZyb20gY29uZmlnIHBhdHRlcm5cbiAgICAgKi9cbiAgICBnZXRTcGVjcyAoY2FwU3BlY3MsIGNhcEV4Y2x1ZGUpIHtcbiAgICAgICAgbGV0IHNwZWNzID0gQ29uZmlnUGFyc2VyLmdldEZpbGVQYXRocyh0aGlzLl9jb25maWcuc3BlY3MpXG4gICAgICAgIGxldCBzcGVjICA9IEFycmF5LmlzQXJyYXkodGhpcy5fY29uZmlnLnNwZWMpID8gdGhpcy5fY29uZmlnLnNwZWMgOiBbXVxuICAgICAgICBsZXQgZXhjbHVkZSA9IENvbmZpZ1BhcnNlci5nZXRGaWxlUGF0aHModGhpcy5fY29uZmlnLmV4Y2x1ZGUpXG4gICAgICAgIGxldCBzdWl0ZXMgPSBBcnJheS5pc0FycmF5KHRoaXMuX2NvbmZpZy5zdWl0ZSkgPyB0aGlzLl9jb25maWcuc3VpdGUgOiBbXVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBjaGVjayBpZiB1c2VyIGhhcyBzcGVjaWZpZWQgYSBzcGVjaWZpYyBzdWl0ZXMgdG8gcnVuXG4gICAgICAgICAqL1xuICAgICAgICBpZiAoc3VpdGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBzdWl0ZVNwZWNzID0gW11cbiAgICAgICAgICAgIGZvciAobGV0IHN1aXRlTmFtZSBvZiBzdWl0ZXMpIHtcbiAgICAgICAgICAgICAgICAvLyBUb0RvOiBsb2cgd2FybmluZyBpZiBzdWl0ZSB3YXMgbm90IGZvdW5kXG4gICAgICAgICAgICAgICAgbGV0IHN1aXRlID0gdGhpcy5fY29uZmlnLnN1aXRlc1tzdWl0ZU5hbWVdXG5cbiAgICAgICAgICAgICAgICBpZiAoc3VpdGUgJiYgQXJyYXkuaXNBcnJheShzdWl0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgc3VpdGVTcGVjcyA9IHN1aXRlU3BlY3MuY29uY2F0KENvbmZpZ1BhcnNlci5nZXRGaWxlUGF0aHMoc3VpdGUpKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHN1aXRlU3BlY3MubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgc3VpdGUocykgXCIke3N1aXRlcy5qb2luKCdcIiwgXCInKX1cIiB5b3Ugc3BlY2lmaWVkIGRvbid0IGV4aXN0IGAgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW4geW91ciBjb25maWcgZmlsZSBvciBkb2VzblxcJ3QgY29udGFpbiBhbnkgZmlsZXMhJylcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWxsb3cgLS1zdWl0ZSBhbmQgLS1zcGVjIHRvIGJvdGggYmUgZGVmaW5lZCBvbiB0aGUgY29tbWFuZCBsaW5lXG4gICAgICAgICAgICAvLyBSZW1vdmluZyBhbnkgZHVwbGljYXRlIHRlc3RzIHRoYXQgY291bGQgYmUgaW5jbHVkZWRcbiAgICAgICAgICAgIGxldCB0bXBTcGVjcyA9IHNwZWMubGVuZ3RoID4gMCA/IFsuLi5zcGVjcywgLi4uc3VpdGVTcGVjc10gOiBzdWl0ZVNwZWNzXG5cbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNhcFNwZWNzKSkge1xuICAgICAgICAgICAgICAgIHRtcFNwZWNzID0gdG1wU3BlY3MuY29uY2F0KENvbmZpZ1BhcnNlci5nZXRGaWxlUGF0aHMoY2FwU3BlY3MpKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjYXBFeGNsdWRlKSkge1xuICAgICAgICAgICAgICAgIGV4Y2x1ZGUgPSBleGNsdWRlLmNvbmNhdChDb25maWdQYXJzZXIuZ2V0RmlsZVBhdGhzKGNhcEV4Y2x1ZGUpKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGVjcyA9IFsuLi5uZXcgU2V0KHRtcFNwZWNzKV1cbiAgICAgICAgICAgIHJldHVybiBzcGVjcy5maWx0ZXIoc3BlYyA9PiAhZXhjbHVkZS5pbmNsdWRlcyhzcGVjKSlcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNhcFNwZWNzKSkge1xuICAgICAgICAgICAgc3BlY3MgPSBzcGVjcy5jb25jYXQoQ29uZmlnUGFyc2VyLmdldEZpbGVQYXRocyhjYXBTcGVjcykpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShjYXBFeGNsdWRlKSkge1xuICAgICAgICAgICAgZXhjbHVkZSA9IGV4Y2x1ZGUuY29uY2F0KENvbmZpZ1BhcnNlci5nZXRGaWxlUGF0aHMoY2FwRXhjbHVkZSkpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gc3BlY3MuZmlsdGVyKHNwZWMgPT4gIWV4Y2x1ZGUuaW5jbHVkZXMoc3BlYykpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogc2V0cyBjb25maWcgYXR0cmlidXRlIHdpdGggZmlsZSBwYXRocyBmcm9tIGZpbHRlcmluZ1xuICAgICAqIG9wdGlvbnMgZnJvbSBjbGkgYXJndW1lbnRcbiAgICAgKlxuICAgICAqIEBwYXJhbSAge1N0cmluZ30gY2xpQXJnRmlsZUxpc3QgIGxpc3Qgb2YgZmlsZXMgaW4gYSBzdHJpbmcgZnJvbVxuICAgICAqIEBwYXJhbSAge09iamVjdH0gY29uZmlnICBjb25maWcgb2JqZWN0IHRoYXQgc3RvcmVzIHRoZSBzcGVjIGFuZCBleGxjdWRlIGF0dHJpYnV0ZXNcbiAgICAgKiBjbGkgYXJndW1lbnRcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmdbXX0gTGlzdCBvZiBmaWxlcyB0aGF0IHNob3VsZCBiZSBpbmNsdWRlZCBvciBleGNsdWRlZFxuICAgICAqL1xuICAgIHNldEZpbGVQYXRoVG9GaWx0ZXJPcHRpb25zIChjbGlBcmdGaWxlTGlzdCwgY29uZmlnKSB7XG4gICAgICAgIGNvbnN0IGZpbGVzVG9GaWx0ZXIgPSBuZXcgU2V0KClcbiAgICAgICAgY29uc3QgZmlsZUxpc3QgPSBDb25maWdQYXJzZXIuZ2V0RmlsZVBhdGhzKGNvbmZpZylcbiAgICAgICAgY2xpQXJnRmlsZUxpc3QuZm9yRWFjaChmaWx0ZXJlZEZpbGUgPT4ge1xuICAgICAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmMoZmlsdGVyZWRGaWxlKSAmJiBmcy5sc3RhdFN5bmMoZmlsdGVyZWRGaWxlKS5pc0ZpbGUoKSkge1xuICAgICAgICAgICAgICAgIGZpbGVzVG9GaWx0ZXIuYWRkKHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBmaWx0ZXJlZEZpbGUpKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmaWxlTGlzdC5mb3JFYWNoKGZpbGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZS5tYXRjaChmaWx0ZXJlZEZpbGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlc1RvRmlsdGVyLmFkZChmaWxlKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgaWYgKGZpbGVzVG9GaWx0ZXIuc2l6ZSA9PT0gMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBzcGVjIGZpbGUocykgJHtjbGlBcmdGaWxlTGlzdC5qb2luKCcsICcpfSBub3QgZm91bmRgKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWxlc1RvRmlsdGVyXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJuIGNvbmZpZ3NcbiAgICAgKi9cbiAgICBnZXRDb25maWcgKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJuIGNhcGFiaWxpdGllc1xuICAgICAqL1xuICAgIGdldENhcGFiaWxpdGllcyAoaSkge1xuICAgICAgICBpZiAodHlwZW9mIGkgPT09ICdudW1iZXInICYmIHRoaXMuX2NhcGFiaWxpdGllc1tpXSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NhcGFiaWxpdGllc1tpXVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhcGFiaWxpdGllc1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHJldHVybnMgYSBmbGF0dGVuIGxpc3Qgb2YgZ2xvYmVkIGZpbGVzXG4gICAgICpcbiAgICAgKiBAcGFyYW0gIHtTdHJpbmdbXX0gZmlsZW5hbWVzICBsaXN0IG9mIGZpbGVzIHRvIGdsb2JcbiAgICAgKiBAcmV0dXJuIHtTdHJpbmdbXX0gbGlzdCBvZiBmaWxlc1xuICAgICAqL1xuICAgIHN0YXRpYyBnZXRGaWxlUGF0aHMgKHBhdHRlcm5zLCBvbWl0V2FybmluZ3MpIHtcbiAgICAgICAgbGV0IGZpbGVzID0gW11cblxuICAgICAgICBpZiAodHlwZW9mIHBhdHRlcm5zID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcGF0dGVybnMgPSBbcGF0dGVybnNdXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkocGF0dGVybnMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3NwZWNzIG9yIGV4Y2x1ZGUgcHJvcGVydHkgc2hvdWxkIGJlIGFuIGFycmF5IG9mIHN0cmluZ3MnKVxuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChsZXQgcGF0dGVybiBvZiBwYXR0ZXJucykge1xuICAgICAgICAgICAgbGV0IGZpbGVuYW1lcyA9IGdsb2Iuc3luYyhwYXR0ZXJuKVxuXG4gICAgICAgICAgICBmaWxlbmFtZXMgPSBmaWxlbmFtZXMuZmlsdGVyKGZpbGVuYW1lID0+XG4gICAgICAgICAgICAgICAgZmlsZW5hbWUuc2xpY2UoLTMpID09PSAnLmpzJyB8fFxuICAgICAgICAgICAgICAgIGZpbGVuYW1lLnNsaWNlKC00KSA9PT0gJy5lczYnIHx8XG4gICAgICAgICAgICAgICAgZmlsZW5hbWUuc2xpY2UoLTMpID09PSAnLnRzJyB8fFxuICAgICAgICAgICAgICAgIGZpbGVuYW1lLnNsaWNlKC04KSA9PT0gJy5mZWF0dXJlJyB8fFxuICAgICAgICAgICAgICAgIGZpbGVuYW1lLnNsaWNlKC03KSA9PT0gJy5jb2ZmZWUnKVxuXG4gICAgICAgICAgICBmaWxlbmFtZXMgPSBmaWxlbmFtZXMubWFwKGZpbGVuYW1lID0+XG4gICAgICAgICAgICAgICAgcGF0aC5pc0Fic29sdXRlKGZpbGVuYW1lKSA/IHBhdGgubm9ybWFsaXplKGZpbGVuYW1lKSA6IHBhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBmaWxlbmFtZSkpXG5cbiAgICAgICAgICAgIGlmIChmaWxlbmFtZXMubGVuZ3RoID09PSAwICYmICFvbWl0V2FybmluZ3MpIHtcbiAgICAgICAgICAgICAgICBsb2cud2FybigncGF0dGVybicsIHBhdHRlcm4sICdkaWQgbm90IG1hdGNoIGFueSBmaWxlJylcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmlsZXMgPSBtZXJnZShmaWxlcywgZmlsZW5hbWVzLCBNRVJHRV9PUFRJT05TKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpbGVzXG4gICAgfVxufVxuIl19
|
|
224
|
+
exports.default = ConfigParser;
|
package/build/shim.js
CHANGED
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.executeAsync = exports.executeSync = exports.hasWdioSyncSupport = exports.wrapCommand = exports.runFnInFiberContext = exports.runTestInFiberContext = exports.executeHooksWithArgs = void 0;
|
|
7
7
|
|
|
8
|
-
require("source-map-support/register");
|
|
9
|
-
|
|
10
8
|
var _logger = _interopRequireDefault(require("@wdio/logger"));
|
|
11
9
|
|
|
12
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -16,16 +14,9 @@ const log = (0, _logger.default)('@wdio/config');
|
|
|
16
14
|
const NOOP = () => {};
|
|
17
15
|
|
|
18
16
|
let executeHooksWithArgs = async function executeHooksWithArgsShim(hooks, args) {
|
|
19
|
-
/**
|
|
20
|
-
* make sure hooks are an array of functions
|
|
21
|
-
*/
|
|
22
17
|
if (!Array.isArray(hooks)) {
|
|
23
18
|
hooks = [hooks];
|
|
24
19
|
}
|
|
25
|
-
/**
|
|
26
|
-
* make sure args is an array since we are calling apply
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
20
|
|
|
30
21
|
if (!Array.isArray(args)) {
|
|
31
22
|
args = [args];
|
|
@@ -40,11 +31,6 @@ let executeHooksWithArgs = async function executeHooksWithArgsShim(hooks, args)
|
|
|
40
31
|
log.error(e.stack);
|
|
41
32
|
return resolve();
|
|
42
33
|
}
|
|
43
|
-
/**
|
|
44
|
-
* if a promise is returned make sure we don't have a catch handler
|
|
45
|
-
* so in case of a rejection it won't cause the hook to fail
|
|
46
|
-
*/
|
|
47
|
-
|
|
48
34
|
|
|
49
35
|
if (result && typeof result.then === 'function') {
|
|
50
36
|
return result.then(resolve, e => {
|
|
@@ -81,15 +67,10 @@ let executeSync = (fn, _, args = []) => fn.apply(void 0, args);
|
|
|
81
67
|
exports.executeSync = executeSync;
|
|
82
68
|
|
|
83
69
|
let executeAsync = (fn, _, args = []) => fn.apply(void 0, args);
|
|
84
|
-
/**
|
|
85
|
-
* shim to make sure that we only wrap commands if wdio-sync is installed as dependency
|
|
86
|
-
*/
|
|
87
|
-
|
|
88
70
|
|
|
89
71
|
exports.executeAsync = executeAsync;
|
|
90
72
|
|
|
91
73
|
try {
|
|
92
|
-
// eslint-disable-next-line import/no-unresolved
|
|
93
74
|
const wdioSync = require('@wdio/sync');
|
|
94
75
|
|
|
95
76
|
exports.hasWdioSyncSupport = hasWdioSyncSupport = true;
|
|
@@ -99,6 +80,4 @@ try {
|
|
|
99
80
|
exports.executeHooksWithArgs = executeHooksWithArgs = wdioSync.executeHooksWithArgs;
|
|
100
81
|
exports.executeSync = executeSync = wdioSync.executeSync;
|
|
101
82
|
exports.executeAsync = executeAsync = wdioSync.executeAsync;
|
|
102
|
-
} catch (_unused) {
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zaGltLmpzIl0sIm5hbWVzIjpbImxvZyIsIk5PT1AiLCJleGVjdXRlSG9va3NXaXRoQXJncyIsImV4ZWN1dGVIb29rc1dpdGhBcmdzU2hpbSIsImhvb2tzIiwiYXJncyIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImhvb2siLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlc3VsdCIsImFwcGx5IiwiZSIsImVycm9yIiwic3RhY2siLCJ0aGVuIiwiYWxsIiwicnVuVGVzdEluRmliZXJDb250ZXh0IiwicnVuRm5JbkZpYmVyQ29udGV4dCIsImZuIiwid3JhcENvbW1hbmQiLCJfIiwib3JpZ0ZuIiwiaGFzV2Rpb1N5bmNTdXBwb3J0IiwiZXhlY3V0ZVN5bmMiLCJleGVjdXRlQXN5bmMiLCJ3ZGlvU3luYyIsInJlcXVpcmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7O0FBRUEsTUFBTUEsR0FBRyxHQUFHLHFCQUFPLGNBQVAsQ0FBWjs7QUFDQSxNQUFNQyxJQUFJLEdBQUcsTUFBTSxDQUFFLENBQXJCOztBQUVPLElBQUlDLG9CQUFvQixHQUFHLGVBQWVDLHdCQUFmLENBQXlDQyxLQUF6QyxFQUFnREMsSUFBaEQsRUFBc0Q7QUFDcEY7OztBQUdBLE1BQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFOLENBQWNILEtBQWQsQ0FBTCxFQUEyQjtBQUN2QkEsSUFBQUEsS0FBSyxHQUFHLENBQUNBLEtBQUQsQ0FBUjtBQUNIO0FBRUQ7Ozs7O0FBR0EsTUFBSSxDQUFDRSxLQUFLLENBQUNDLE9BQU4sQ0FBY0YsSUFBZCxDQUFMLEVBQTBCO0FBQ3RCQSxJQUFBQSxJQUFJLEdBQUcsQ0FBQ0EsSUFBRCxDQUFQO0FBQ0g7O0FBRURELEVBQUFBLEtBQUssR0FBR0EsS0FBSyxDQUFDSSxHQUFOLENBQVdDLElBQUQsSUFBVSxJQUFJQyxPQUFKLENBQWFDLE9BQUQsSUFBYTtBQUNqRCxRQUFJQyxNQUFKOztBQUVBLFFBQUk7QUFDQUEsTUFBQUEsTUFBTSxHQUFHSCxJQUFJLENBQUNJLEtBQUwsQ0FBVyxJQUFYLEVBQWlCUixJQUFqQixDQUFUO0FBQ0gsS0FGRCxDQUVFLE9BQU9TLENBQVAsRUFBVTtBQUNSZCxNQUFBQSxHQUFHLENBQUNlLEtBQUosQ0FBVUQsQ0FBQyxDQUFDRSxLQUFaO0FBQ0EsYUFBT0wsT0FBTyxFQUFkO0FBQ0g7QUFFRDs7Ozs7O0FBSUEsUUFBSUMsTUFBTSxJQUFJLE9BQU9BLE1BQU0sQ0FBQ0ssSUFBZCxLQUF1QixVQUFyQyxFQUFpRDtBQUM3QyxhQUFPTCxNQUFNLENBQUNLLElBQVAsQ0FBWU4sT0FBWixFQUFzQkcsQ0FBRCxJQUFPO0FBQy9CZCxRQUFBQSxHQUFHLENBQUNlLEtBQUosQ0FBVUQsQ0FBQyxDQUFDRSxLQUFaO0FBQ0FMLFFBQUFBLE9BQU87QUFDVixPQUhNLENBQVA7QUFJSDs7QUFFREEsSUFBQUEsT0FBTyxDQUFDQyxNQUFELENBQVA7QUFDSCxHQXRCMkIsQ0FBcEIsQ0FBUjtBQXdCQSxTQUFPRixPQUFPLENBQUNRLEdBQVIsQ0FBWWQsS0FBWixDQUFQO0FBQ0gsQ0F4Q007OztBQTBDQSxJQUFJZSxxQkFBcUIsR0FBR2xCLElBQTVCOzs7QUFDQSxJQUFJbUIsbUJBQW1CLEdBQUlDLEVBQUQsSUFBUTtBQUNyQyxTQUFPLFVBQVUsR0FBR2hCLElBQWIsRUFBbUI7QUFDdEIsV0FBT0ssT0FBTyxDQUFDQyxPQUFSLENBQWdCVSxFQUFFLENBQUNSLEtBQUgsQ0FBUyxJQUFULEVBQWVSLElBQWYsQ0FBaEIsQ0FBUDtBQUNILEdBRkQ7QUFHSCxDQUpNOzs7O0FBS0EsSUFBSWlCLFdBQVcsR0FBRyxDQUFDQyxDQUFELEVBQUlDLE1BQUosS0FBZUEsTUFBakM7OztBQUNBLElBQUlDLGtCQUFrQixHQUFHLEtBQXpCOzs7QUFDQSxJQUFJQyxXQUFXLEdBQUcsQ0FBQ0wsRUFBRCxFQUFLRSxDQUFMLEVBQVFsQixJQUFJLEdBQUcsRUFBZixLQUFzQmdCLEVBQUUsQ0FBQ1IsS0FBSCxTQUFlUixJQUFmLENBQXhDOzs7O0FBQ0EsSUFBSXNCLFlBQVksR0FBRyxDQUFDTixFQUFELEVBQUtFLENBQUwsRUFBUWxCLElBQUksR0FBRyxFQUFmLEtBQXNCZ0IsRUFBRSxDQUFDUixLQUFILFNBQWVSLElBQWYsQ0FBekM7QUFFUDs7Ozs7OztBQUdBLElBQUk7QUFDQTtBQUNBLFFBQU11QixRQUFRLEdBQUdDLE9BQU8sQ0FBQyxZQUFELENBQXhCOztBQUNBLCtCQUFBSixrQkFBa0IsR0FBRyxJQUFyQjtBQUNBLGdDQUFBTCxtQkFBbUIsR0FBR1EsUUFBUSxDQUFDUixtQkFBL0I7QUFDQSxrQ0FBQUQscUJBQXFCLEdBQUdTLFFBQVEsQ0FBQ1QscUJBQWpDO0FBQ0Esd0JBQUFHLFdBQVcsR0FBR00sUUFBUSxDQUFDTixXQUF2QjtBQUNBLGlDQUFBcEIsb0JBQW9CLEdBQUcwQixRQUFRLENBQUMxQixvQkFBaEM7QUFDQSx3QkFBQXdCLFdBQVcsR0FBR0UsUUFBUSxDQUFDRixXQUF2QjtBQUNBLHlCQUFBQyxZQUFZLEdBQUdDLFFBQVEsQ0FBQ0QsWUFBeEI7QUFDSCxDQVZELENBVUUsZ0JBQU0sQ0FDSjtBQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGxvZ2dlciBmcm9tICdAd2Rpby9sb2dnZXInXG5cbmNvbnN0IGxvZyA9IGxvZ2dlcignQHdkaW8vY29uZmlnJylcbmNvbnN0IE5PT1AgPSAoKSA9PiB7fVxuXG5leHBvcnQgbGV0IGV4ZWN1dGVIb29rc1dpdGhBcmdzID0gYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZUhvb2tzV2l0aEFyZ3NTaGltIChob29rcywgYXJncykge1xuICAgIC8qKlxuICAgICAqIG1ha2Ugc3VyZSBob29rcyBhcmUgYW4gYXJyYXkgb2YgZnVuY3Rpb25zXG4gICAgICovXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGhvb2tzKSkge1xuICAgICAgICBob29rcyA9IFtob29rc11cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBtYWtlIHN1cmUgYXJncyBpcyBhbiBhcnJheSBzaW5jZSB3ZSBhcmUgY2FsbGluZyBhcHBseVxuICAgICAqL1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhcmdzKSkge1xuICAgICAgICBhcmdzID0gW2FyZ3NdXG4gICAgfVxuXG4gICAgaG9va3MgPSBob29rcy5tYXAoKGhvb2spID0+IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICAgIGxldCByZXN1bHRcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgcmVzdWx0ID0gaG9vay5hcHBseShudWxsLCBhcmdzKVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoZS5zdGFjaylcbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlKClcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBpZiBhIHByb21pc2UgaXMgcmV0dXJuZWQgbWFrZSBzdXJlIHdlIGRvbid0IGhhdmUgYSBjYXRjaCBoYW5kbGVyXG4gICAgICAgICAqIHNvIGluIGNhc2Ugb2YgYSByZWplY3Rpb24gaXQgd29uJ3QgY2F1c2UgdGhlIGhvb2sgdG8gZmFpbFxuICAgICAgICAgKi9cbiAgICAgICAgaWYgKHJlc3VsdCAmJiB0eXBlb2YgcmVzdWx0LnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQudGhlbihyZXNvbHZlLCAoZSkgPT4ge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihlLnN0YWNrKVxuICAgICAgICAgICAgICAgIHJlc29sdmUoKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc29sdmUocmVzdWx0KVxuICAgIH0pKVxuXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKGhvb2tzKVxufVxuXG5leHBvcnQgbGV0IHJ1blRlc3RJbkZpYmVyQ29udGV4dCA9IE5PT1BcbmV4cG9ydCBsZXQgcnVuRm5JbkZpYmVyQ29udGV4dCA9IChmbikgPT4ge1xuICAgIHJldHVybiBmdW5jdGlvbiAoLi4uYXJncykge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZuLmFwcGx5KHRoaXMsIGFyZ3MpKVxuICAgIH1cbn1cbmV4cG9ydCBsZXQgd3JhcENvbW1hbmQgPSAoXywgb3JpZ0ZuKSA9PiBvcmlnRm5cbmV4cG9ydCBsZXQgaGFzV2Rpb1N5bmNTdXBwb3J0ID0gZmFsc2VcbmV4cG9ydCBsZXQgZXhlY3V0ZVN5bmMgPSAoZm4sIF8sIGFyZ3MgPSBbXSkgPT4gZm4uYXBwbHkodGhpcywgYXJncylcbmV4cG9ydCBsZXQgZXhlY3V0ZUFzeW5jID0gKGZuLCBfLCBhcmdzID0gW10pID0+IGZuLmFwcGx5KHRoaXMsIGFyZ3MpXG5cbi8qKlxuICogc2hpbSB0byBtYWtlIHN1cmUgdGhhdCB3ZSBvbmx5IHdyYXAgY29tbWFuZHMgaWYgd2Rpby1zeW5jIGlzIGluc3RhbGxlZCBhcyBkZXBlbmRlbmN5XG4gKi9cbnRyeSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby11bnJlc29sdmVkXG4gICAgY29uc3Qgd2Rpb1N5bmMgPSByZXF1aXJlKCdAd2Rpby9zeW5jJylcbiAgICBoYXNXZGlvU3luY1N1cHBvcnQgPSB0cnVlXG4gICAgcnVuRm5JbkZpYmVyQ29udGV4dCA9IHdkaW9TeW5jLnJ1bkZuSW5GaWJlckNvbnRleHRcbiAgICBydW5UZXN0SW5GaWJlckNvbnRleHQgPSB3ZGlvU3luYy5ydW5UZXN0SW5GaWJlckNvbnRleHRcbiAgICB3cmFwQ29tbWFuZCA9IHdkaW9TeW5jLndyYXBDb21tYW5kXG4gICAgZXhlY3V0ZUhvb2tzV2l0aEFyZ3MgPSB3ZGlvU3luYy5leGVjdXRlSG9va3NXaXRoQXJnc1xuICAgIGV4ZWN1dGVTeW5jID0gd2Rpb1N5bmMuZXhlY3V0ZVN5bmNcbiAgICBleGVjdXRlQXN5bmMgPSB3ZGlvU3luYy5leGVjdXRlQXN5bmNcbn0gY2F0Y2gge1xuICAgIC8vIGRvIG5vdGhpbmdcbn1cbiJdfQ==
|
|
83
|
+
} catch (_unused) {}
|
package/build/utils.js
CHANGED
|
@@ -6,15 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getSauceEndpoint = getSauceEndpoint;
|
|
7
7
|
exports.detectBackend = detectBackend;
|
|
8
8
|
exports.validateConfig = validateConfig;
|
|
9
|
-
|
|
10
|
-
require("source-map-support/register");
|
|
11
|
-
|
|
12
9
|
const DEFAULT_HOSTNAME = '127.0.0.1';
|
|
13
10
|
const DEFAULT_PORT = 4444;
|
|
14
11
|
const DEFAULT_PROTOCOL = 'http';
|
|
15
12
|
const REGION_MAPPING = {
|
|
16
13
|
'us': '',
|
|
17
|
-
// default endpoint
|
|
18
14
|
'eu': 'eu-central-1.',
|
|
19
15
|
'eu-central-1': 'eu-central-1.',
|
|
20
16
|
'us-east-1': 'us-east-1.'
|
|
@@ -29,10 +25,6 @@ function getSauceEndpoint(region, isRDC) {
|
|
|
29
25
|
|
|
30
26
|
return `ondemand.${REGION_MAPPING[shortRegion]}saucelabs.com`;
|
|
31
27
|
}
|
|
32
|
-
/**
|
|
33
|
-
* helper to detect the Selenium backend according to given capabilities
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
28
|
|
|
37
29
|
function detectBackend(options = {}, isRDC = false) {
|
|
38
30
|
let {
|
|
@@ -44,10 +36,6 @@ function detectBackend(options = {}, isRDC = false) {
|
|
|
44
36
|
region,
|
|
45
37
|
headless
|
|
46
38
|
} = options;
|
|
47
|
-
/**
|
|
48
|
-
* browserstack
|
|
49
|
-
* e.g. zHcv9sZ39ip8ZPsxBVJ2
|
|
50
|
-
*/
|
|
51
39
|
|
|
52
40
|
if (typeof user === 'string' && typeof key === 'string' && key.length === 20) {
|
|
53
41
|
return {
|
|
@@ -56,11 +44,6 @@ function detectBackend(options = {}, isRDC = false) {
|
|
|
56
44
|
port: 443
|
|
57
45
|
};
|
|
58
46
|
}
|
|
59
|
-
/**
|
|
60
|
-
* testingbot
|
|
61
|
-
* e.g. ec337d7b677720a4dde7bd72be0bfc67
|
|
62
|
-
*/
|
|
63
|
-
|
|
64
47
|
|
|
65
48
|
if (typeof user === 'string' && typeof key === 'string' && key.length === 32) {
|
|
66
49
|
return {
|
|
@@ -68,16 +51,8 @@ function detectBackend(options = {}, isRDC = false) {
|
|
|
68
51
|
port: 80
|
|
69
52
|
};
|
|
70
53
|
}
|
|
71
|
-
/**
|
|
72
|
-
* Sauce Labs
|
|
73
|
-
* e.g. 50aa152c-1932-B2f0-9707-18z46q2n1mb0
|
|
74
|
-
*/
|
|
75
54
|
|
|
76
|
-
|
|
77
|
-
if (typeof user === 'string' && typeof key === 'string' && key.length === 36 || // When SC is used a user needs to be provided and `isRDC` needs to be true
|
|
78
|
-
typeof user === 'string' && isRDC || // Or only RDC
|
|
79
|
-
isRDC) {
|
|
80
|
-
// Sauce headless is currently only in us-east-1
|
|
55
|
+
if (typeof user === 'string' && typeof key === 'string' && key.length === 36 || typeof user === 'string' && isRDC || isRDC) {
|
|
81
56
|
const sauceRegion = headless ? 'us-east-1' : region;
|
|
82
57
|
return {
|
|
83
58
|
protocol: protocol || 'https',
|
|
@@ -86,21 +61,9 @@ function detectBackend(options = {}, isRDC = false) {
|
|
|
86
61
|
};
|
|
87
62
|
}
|
|
88
63
|
|
|
89
|
-
if (
|
|
90
|
-
/**
|
|
91
|
-
* user and key are set in config
|
|
92
|
-
*/
|
|
93
|
-
(typeof user === 'string' || typeof key === 'string') &&
|
|
94
|
-
/**
|
|
95
|
-
* but no custom WebDriver endpoint was configured
|
|
96
|
-
*/
|
|
97
|
-
!hostname) {
|
|
64
|
+
if ((typeof user === 'string' || typeof key === 'string') && !hostname) {
|
|
98
65
|
throw new Error('A "user" or "key" was provided but could not be connected to a ' + 'known cloud service (SauceLabs, Browerstack or Testingbot). ' + 'Please check if given user and key properties are correct!');
|
|
99
66
|
}
|
|
100
|
-
/**
|
|
101
|
-
* no cloud provider detected, fallback to local browser driver
|
|
102
|
-
*/
|
|
103
|
-
|
|
104
67
|
|
|
105
68
|
return {
|
|
106
69
|
hostname: hostname || DEFAULT_HOSTNAME,
|
|
@@ -108,21 +71,11 @@ function detectBackend(options = {}, isRDC = false) {
|
|
|
108
71
|
protocol: protocol || DEFAULT_PROTOCOL
|
|
109
72
|
};
|
|
110
73
|
}
|
|
111
|
-
/**
|
|
112
|
-
* validates configurations based on default values
|
|
113
|
-
* @param {Object} defaults object describing all allowed properties
|
|
114
|
-
* @param {Object} options option to check agains
|
|
115
|
-
* @return {Object} validated config enriched with default values
|
|
116
|
-
*/
|
|
117
|
-
|
|
118
74
|
|
|
119
75
|
function validateConfig(defaults, options) {
|
|
120
76
|
const params = {};
|
|
121
77
|
|
|
122
78
|
for (const [name, expectedOption] of Object.entries(defaults)) {
|
|
123
|
-
/**
|
|
124
|
-
* check if options is given
|
|
125
|
-
*/
|
|
126
79
|
if (typeof options[name] === 'undefined' && !expectedOption.default && expectedOption.required) {
|
|
127
80
|
throw new Error(`Required option "${name}" is missing`);
|
|
128
81
|
}
|
|
@@ -153,5 +106,4 @@ function validateConfig(defaults, options) {
|
|
|
153
106
|
}
|
|
154
107
|
|
|
155
108
|
return params;
|
|
156
|
-
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91dGlscy5qcyJdLCJuYW1lcyI6WyJERUZBVUxUX0hPU1ROQU1FIiwiREVGQVVMVF9QT1JUIiwiREVGQVVMVF9QUk9UT0NPTCIsIlJFR0lPTl9NQVBQSU5HIiwiZ2V0U2F1Y2VFbmRwb2ludCIsInJlZ2lvbiIsImlzUkRDIiwic2hvcnRSZWdpb24iLCJkZXRlY3RCYWNrZW5kIiwib3B0aW9ucyIsInBvcnQiLCJob3N0bmFtZSIsInVzZXIiLCJrZXkiLCJwcm90b2NvbCIsImhlYWRsZXNzIiwibGVuZ3RoIiwic2F1Y2VSZWdpb24iLCJFcnJvciIsInZhbGlkYXRlQ29uZmlnIiwiZGVmYXVsdHMiLCJwYXJhbXMiLCJuYW1lIiwiZXhwZWN0ZWRPcHRpb24iLCJPYmplY3QiLCJlbnRyaWVzIiwiZGVmYXVsdCIsInJlcXVpcmVkIiwidHlwZSIsImUiLCJtZXNzYWdlIiwibWF0Y2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsTUFBTUEsZ0JBQWdCLEdBQUcsV0FBekI7QUFDQSxNQUFNQyxZQUFZLEdBQUcsSUFBckI7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBRyxNQUF6QjtBQUVBLE1BQU1DLGNBQWMsR0FBRztBQUNuQixRQUFNLEVBRGE7QUFDVDtBQUNWLFFBQU0sZUFGYTtBQUduQixrQkFBZ0IsZUFIRztBQUluQixlQUFhO0FBSk0sQ0FBdkI7O0FBT08sU0FBU0MsZ0JBQVQsQ0FBMkJDLE1BQTNCLEVBQW1DQyxLQUFuQyxFQUEwQztBQUM3QyxRQUFNQyxXQUFXLEdBQUdKLGNBQWMsQ0FBQ0UsTUFBRCxDQUFkLEdBQXlCQSxNQUF6QixHQUFrQyxJQUF0RDs7QUFDQSxNQUFJQyxLQUFKLEVBQVU7QUFDTixXQUFRLEdBQUVDLFdBQVkseUJBQXRCO0FBQ0g7O0FBRUQsU0FBUSxZQUFXSixjQUFjLENBQUNJLFdBQUQsQ0FBYyxlQUEvQztBQUNIO0FBRUQ7Ozs7O0FBR08sU0FBU0MsYUFBVCxDQUF3QkMsT0FBTyxHQUFHLEVBQWxDLEVBQXNDSCxLQUFLLEdBQUcsS0FBOUMsRUFBcUQ7QUFDeEQsTUFBSTtBQUFFSSxJQUFBQSxJQUFGO0FBQVFDLElBQUFBLFFBQVI7QUFBa0JDLElBQUFBLElBQWxCO0FBQXdCQyxJQUFBQSxHQUF4QjtBQUE2QkMsSUFBQUEsUUFBN0I7QUFBdUNULElBQUFBLE1BQXZDO0FBQStDVSxJQUFBQTtBQUEvQyxNQUE0RE4sT0FBaEU7QUFFQTs7Ozs7QUFJQSxNQUFJLE9BQU9HLElBQVAsS0FBZ0IsUUFBaEIsSUFBNEIsT0FBT0MsR0FBUCxLQUFlLFFBQTNDLElBQXVEQSxHQUFHLENBQUNHLE1BQUosS0FBZSxFQUExRSxFQUE4RTtBQUMxRSxXQUFPO0FBQ0hGLE1BQUFBLFFBQVEsRUFBRSxPQURQO0FBRUhILE1BQUFBLFFBQVEsRUFBRSw0QkFGUDtBQUdIRCxNQUFBQSxJQUFJLEVBQUU7QUFISCxLQUFQO0FBS0g7QUFFRDs7Ozs7O0FBSUEsTUFBSSxPQUFPRSxJQUFQLEtBQWdCLFFBQWhCLElBQTRCLE9BQU9DLEdBQVAsS0FBZSxRQUEzQyxJQUF1REEsR0FBRyxDQUFDRyxNQUFKLEtBQWUsRUFBMUUsRUFBOEU7QUFDMUUsV0FBTztBQUNITCxNQUFBQSxRQUFRLEVBQUUsb0JBRFA7QUFFSEQsTUFBQUEsSUFBSSxFQUFFO0FBRkgsS0FBUDtBQUlIO0FBRUQ7Ozs7OztBQUlBLE1BQUssT0FBT0UsSUFBUCxLQUFnQixRQUFoQixJQUE0QixPQUFPQyxHQUFQLEtBQWUsUUFBM0MsSUFBdURBLEdBQUcsQ0FBQ0csTUFBSixLQUFlLEVBQXZFLElBQ0E7QUFDQyxTQUFPSixJQUFQLEtBQWdCLFFBQWhCLElBQTRCTixLQUY3QixJQUdBO0FBQ0FBLEVBQUFBLEtBSkosRUFLRTtBQUNFO0FBQ0EsVUFBTVcsV0FBVyxHQUFHRixRQUFRLEdBQUcsV0FBSCxHQUFpQlYsTUFBN0M7QUFFQSxXQUFPO0FBQ0hTLE1BQUFBLFFBQVEsRUFBRUEsUUFBUSxJQUFJLE9BRG5CO0FBRUhILE1BQUFBLFFBQVEsRUFBRUEsUUFBUSxJQUFJUCxnQkFBZ0IsQ0FBQ2EsV0FBRCxFQUFjWCxLQUFkLENBRm5DO0FBR0hJLE1BQUFBLElBQUksRUFBRUEsSUFBSSxJQUFJO0FBSFgsS0FBUDtBQUtIOztBQUVEO0FBQ0k7OztBQUdBLEdBQUMsT0FBT0UsSUFBUCxLQUFnQixRQUFoQixJQUE0QixPQUFPQyxHQUFQLEtBQWUsUUFBNUM7QUFDQTs7O0FBR0EsR0FBQ0YsUUFSTCxFQVNFO0FBQ0UsVUFBTSxJQUFJTyxLQUFKLENBQ0Ysb0VBQ0EsOERBREEsR0FFQSw0REFIRSxDQUFOO0FBS0g7QUFFRDs7Ozs7QUFHQSxTQUFPO0FBQ0hQLElBQUFBLFFBQVEsRUFBRUEsUUFBUSxJQUFJWCxnQkFEbkI7QUFFSFUsSUFBQUEsSUFBSSxFQUFFQSxJQUFJLElBQUlULFlBRlg7QUFHSGEsSUFBQUEsUUFBUSxFQUFFQSxRQUFRLElBQUlaO0FBSG5CLEdBQVA7QUFLSDtBQUVEOzs7Ozs7OztBQU1PLFNBQVNpQixjQUFULENBQXlCQyxRQUF6QixFQUFtQ1gsT0FBbkMsRUFBNEM7QUFDL0MsUUFBTVksTUFBTSxHQUFHLEVBQWY7O0FBRUEsT0FBSyxNQUFNLENBQUNDLElBQUQsRUFBT0MsY0FBUCxDQUFYLElBQXFDQyxNQUFNLENBQUNDLE9BQVAsQ0FBZUwsUUFBZixDQUFyQyxFQUErRDtBQUMzRDs7O0FBR0EsUUFBSSxPQUFPWCxPQUFPLENBQUNhLElBQUQsQ0FBZCxLQUF5QixXQUF6QixJQUF3QyxDQUFDQyxjQUFjLENBQUNHLE9BQXhELElBQW1FSCxjQUFjLENBQUNJLFFBQXRGLEVBQWdHO0FBQzVGLFlBQU0sSUFBSVQsS0FBSixDQUFXLG9CQUFtQkksSUFBSyxjQUFuQyxDQUFOO0FBQ0g7O0FBRUQsUUFBSSxPQUFPYixPQUFPLENBQUNhLElBQUQsQ0FBZCxLQUF5QixXQUF6QixJQUF3Q0MsY0FBYyxDQUFDRyxPQUEzRCxFQUFvRTtBQUNoRUwsTUFBQUEsTUFBTSxDQUFDQyxJQUFELENBQU4sR0FBZUMsY0FBYyxDQUFDRyxPQUE5QjtBQUNIOztBQUVELFFBQUksT0FBT2pCLE9BQU8sQ0FBQ2EsSUFBRCxDQUFkLEtBQXlCLFdBQTdCLEVBQTBDO0FBQ3RDLFVBQUksT0FBT0MsY0FBYyxDQUFDSyxJQUF0QixLQUErQixRQUEvQixJQUEyQyxPQUFPbkIsT0FBTyxDQUFDYSxJQUFELENBQWQsS0FBeUJDLGNBQWMsQ0FBQ0ssSUFBdkYsRUFBNkY7QUFDekYsY0FBTSxJQUFJVixLQUFKLENBQVcsb0JBQW1CSSxJQUFLLG1CQUFrQkMsY0FBYyxDQUFDSyxJQUFLLFlBQVcsT0FBT25CLE9BQU8sQ0FBQ2EsSUFBRCxDQUFPLEVBQXpHLENBQU47QUFDSDs7QUFFRCxVQUFJLE9BQU9DLGNBQWMsQ0FBQ0ssSUFBdEIsS0FBK0IsVUFBbkMsRUFBK0M7QUFDM0MsWUFBSTtBQUNBTCxVQUFBQSxjQUFjLENBQUNLLElBQWYsQ0FBb0JuQixPQUFPLENBQUNhLElBQUQsQ0FBM0I7QUFDSCxTQUZELENBRUUsT0FBT08sQ0FBUCxFQUFVO0FBQ1IsZ0JBQU0sSUFBSVgsS0FBSixDQUFXLDBCQUF5QkksSUFBSyxhQUFZTyxDQUFDLENBQUNDLE9BQVEsRUFBL0QsQ0FBTjtBQUNIO0FBQ0o7O0FBRUQsVUFBSVAsY0FBYyxDQUFDUSxLQUFmLElBQXdCLENBQUN0QixPQUFPLENBQUNhLElBQUQsQ0FBUCxDQUFjUyxLQUFkLENBQW9CUixjQUFjLENBQUNRLEtBQW5DLENBQTdCLEVBQXdFO0FBQ3BFLGNBQU0sSUFBSWIsS0FBSixDQUFXLFdBQVVJLElBQUssb0NBQW1DQyxjQUFjLENBQUNRLEtBQU0sRUFBbEYsQ0FBTjtBQUNIOztBQUVEVixNQUFBQSxNQUFNLENBQUNDLElBQUQsQ0FBTixHQUFlYixPQUFPLENBQUNhLElBQUQsQ0FBdEI7QUFDSDtBQUNKOztBQUVELFNBQU9ELE1BQVA7QUFDSCIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IERFRkFVTFRfSE9TVE5BTUUgPSAnMTI3LjAuMC4xJ1xuY29uc3QgREVGQVVMVF9QT1JUID0gNDQ0NFxuY29uc3QgREVGQVVMVF9QUk9UT0NPTCA9ICdodHRwJ1xuXG5jb25zdCBSRUdJT05fTUFQUElORyA9IHtcbiAgICAndXMnOiAnJywgLy8gZGVmYXVsdCBlbmRwb2ludFxuICAgICdldSc6ICdldS1jZW50cmFsLTEuJyxcbiAgICAnZXUtY2VudHJhbC0xJzogJ2V1LWNlbnRyYWwtMS4nLFxuICAgICd1cy1lYXN0LTEnOiAndXMtZWFzdC0xLidcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNhdWNlRW5kcG9pbnQgKHJlZ2lvbiwgaXNSREMpIHtcbiAgICBjb25zdCBzaG9ydFJlZ2lvbiA9IFJFR0lPTl9NQVBQSU5HW3JlZ2lvbl0gPyByZWdpb24gOiAndXMnXG4gICAgaWYgKGlzUkRDKXtcbiAgICAgICAgcmV0dXJuIGAke3Nob3J0UmVnaW9ufTEuYXBwaXVtLnRlc3RvYmplY3QuY29tYFxuICAgIH1cblxuICAgIHJldHVybiBgb25kZW1hbmQuJHtSRUdJT05fTUFQUElOR1tzaG9ydFJlZ2lvbl19c2F1Y2VsYWJzLmNvbWBcbn1cblxuLyoqXG4gKiBoZWxwZXIgdG8gZGV0ZWN0IHRoZSBTZWxlbml1bSBiYWNrZW5kIGFjY29yZGluZyB0byBnaXZlbiBjYXBhYmlsaXRpZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdEJhY2tlbmQgKG9wdGlvbnMgPSB7fSwgaXNSREMgPSBmYWxzZSkge1xuICAgIGxldCB7IHBvcnQsIGhvc3RuYW1lLCB1c2VyLCBrZXksIHByb3RvY29sLCByZWdpb24sIGhlYWRsZXNzIH0gPSBvcHRpb25zXG5cbiAgICAvKipcbiAgICAgKiBicm93c2Vyc3RhY2tcbiAgICAgKiBlLmcuIHpIY3Y5c1ozOWlwOFpQc3hCVkoyXG4gICAgICovXG4gICAgaWYgKHR5cGVvZiB1c2VyID09PSAnc3RyaW5nJyAmJiB0eXBlb2Yga2V5ID09PSAnc3RyaW5nJyAmJiBrZXkubGVuZ3RoID09PSAyMCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJvdG9jb2w6ICdodHRwcycsXG4gICAgICAgICAgICBob3N0bmFtZTogJ2h1Yi1jbG91ZC5icm93c2Vyc3RhY2suY29tJyxcbiAgICAgICAgICAgIHBvcnQ6IDQ0M1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdGVzdGluZ2JvdFxuICAgICAqIGUuZy4gZWMzMzdkN2I2Nzc3MjBhNGRkZTdiZDcyYmUwYmZjNjdcbiAgICAgKi9cbiAgICBpZiAodHlwZW9mIHVzZXIgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBrZXkgPT09ICdzdHJpbmcnICYmIGtleS5sZW5ndGggPT09IDMyKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBob3N0bmFtZTogJ2h1Yi50ZXN0aW5nYm90LmNvbScsXG4gICAgICAgICAgICBwb3J0OiA4MFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2F1Y2UgTGFic1xuICAgICAqIGUuZy4gNTBhYTE1MmMtMTkzMi1CMmYwLTk3MDctMTh6NDZxMm4xbWIwXG4gICAgICovXG4gICAgaWYgKCh0eXBlb2YgdXNlciA9PT0gJ3N0cmluZycgJiYgdHlwZW9mIGtleSA9PT0gJ3N0cmluZycgJiYga2V5Lmxlbmd0aCA9PT0gMzYpIHx8XG4gICAgICAgIC8vIFdoZW4gU0MgaXMgdXNlZCBhIHVzZXIgbmVlZHMgdG8gYmUgcHJvdmlkZWQgYW5kIGBpc1JEQ2AgbmVlZHMgdG8gYmUgdHJ1ZVxuICAgICAgICAodHlwZW9mIHVzZXIgPT09ICdzdHJpbmcnICYmIGlzUkRDKSB8fFxuICAgICAgICAvLyBPciBvbmx5IFJEQ1xuICAgICAgICBpc1JEQ1xuICAgICkge1xuICAgICAgICAvLyBTYXVjZSBoZWFkbGVzcyBpcyBjdXJyZW50bHkgb25seSBpbiB1cy1lYXN0LTFcbiAgICAgICAgY29uc3Qgc2F1Y2VSZWdpb24gPSBoZWFkbGVzcyA/ICd1cy1lYXN0LTEnIDogcmVnaW9uXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHByb3RvY29sOiBwcm90b2NvbCB8fCAnaHR0cHMnLFxuICAgICAgICAgICAgaG9zdG5hbWU6IGhvc3RuYW1lIHx8IGdldFNhdWNlRW5kcG9pbnQoc2F1Y2VSZWdpb24sIGlzUkRDKSxcbiAgICAgICAgICAgIHBvcnQ6IHBvcnQgfHwgNDQzXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAgIC8qKlxuICAgICAgICAgKiB1c2VyIGFuZCBrZXkgYXJlIHNldCBpbiBjb25maWdcbiAgICAgICAgICovXG4gICAgICAgICh0eXBlb2YgdXNlciA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGtleSA9PT0gJ3N0cmluZycpICYmXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBidXQgbm8gY3VzdG9tIFdlYkRyaXZlciBlbmRwb2ludCB3YXMgY29uZmlndXJlZFxuICAgICAgICAgKi9cbiAgICAgICAgIWhvc3RuYW1lXG4gICAgKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICdBIFwidXNlclwiIG9yIFwia2V5XCIgd2FzIHByb3ZpZGVkIGJ1dCBjb3VsZCBub3QgYmUgY29ubmVjdGVkIHRvIGEgJyArXG4gICAgICAgICAgICAna25vd24gY2xvdWQgc2VydmljZSAoU2F1Y2VMYWJzLCBCcm93ZXJzdGFjayBvciBUZXN0aW5nYm90KS4gJyArXG4gICAgICAgICAgICAnUGxlYXNlIGNoZWNrIGlmIGdpdmVuIHVzZXIgYW5kIGtleSBwcm9wZXJ0aWVzIGFyZSBjb3JyZWN0ISdcbiAgICAgICAgKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIG5vIGNsb3VkIHByb3ZpZGVyIGRldGVjdGVkLCBmYWxsYmFjayB0byBsb2NhbCBicm93c2VyIGRyaXZlclxuICAgICAqL1xuICAgIHJldHVybiB7XG4gICAgICAgIGhvc3RuYW1lOiBob3N0bmFtZSB8fCBERUZBVUxUX0hPU1ROQU1FLFxuICAgICAgICBwb3J0OiBwb3J0IHx8IERFRkFVTFRfUE9SVCxcbiAgICAgICAgcHJvdG9jb2w6IHByb3RvY29sIHx8IERFRkFVTFRfUFJPVE9DT0xcbiAgICB9XG59XG5cbi8qKlxuICogdmFsaWRhdGVzIGNvbmZpZ3VyYXRpb25zIGJhc2VkIG9uIGRlZmF1bHQgdmFsdWVzXG4gKiBAcGFyYW0gIHtPYmplY3R9IGRlZmF1bHRzICBvYmplY3QgZGVzY3JpYmluZyBhbGwgYWxsb3dlZCBwcm9wZXJ0aWVzXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnMgICBvcHRpb24gdG8gY2hlY2sgYWdhaW5zXG4gKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICAgICB2YWxpZGF0ZWQgY29uZmlnIGVucmljaGVkIHdpdGggZGVmYXVsdCB2YWx1ZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ29uZmlnIChkZWZhdWx0cywgb3B0aW9ucykge1xuICAgIGNvbnN0IHBhcmFtcyA9IHt9XG5cbiAgICBmb3IgKGNvbnN0IFtuYW1lLCBleHBlY3RlZE9wdGlvbl0gb2YgT2JqZWN0LmVudHJpZXMoZGVmYXVsdHMpKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBjaGVjayBpZiBvcHRpb25zIGlzIGdpdmVuXG4gICAgICAgICAqL1xuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnNbbmFtZV0gPT09ICd1bmRlZmluZWQnICYmICFleHBlY3RlZE9wdGlvbi5kZWZhdWx0ICYmIGV4cGVjdGVkT3B0aW9uLnJlcXVpcmVkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFJlcXVpcmVkIG9wdGlvbiBcIiR7bmFtZX1cIiBpcyBtaXNzaW5nYClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2Ygb3B0aW9uc1tuYW1lXSA9PT0gJ3VuZGVmaW5lZCcgJiYgZXhwZWN0ZWRPcHRpb24uZGVmYXVsdCkge1xuICAgICAgICAgICAgcGFyYW1zW25hbWVdID0gZXhwZWN0ZWRPcHRpb24uZGVmYXVsdFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zW25hbWVdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBleHBlY3RlZE9wdGlvbi50eXBlID09PSAnc3RyaW5nJyAmJiB0eXBlb2Ygb3B0aW9uc1tuYW1lXSAhPT0gZXhwZWN0ZWRPcHRpb24udHlwZSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgb3B0aW9uIFwiJHtuYW1lfVwiIHRvIGJlIHR5cGUgb2YgJHtleHBlY3RlZE9wdGlvbi50eXBlfSBidXQgd2FzICR7dHlwZW9mIG9wdGlvbnNbbmFtZV19YClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiBleHBlY3RlZE9wdGlvbi50eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWRPcHRpb24udHlwZShvcHRpb25zW25hbWVdKVxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUeXBlIGNoZWNrIGZvciBvcHRpb24gXCIke25hbWV9XCIgZmFpbGVkOiAke2UubWVzc2FnZX1gKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGV4cGVjdGVkT3B0aW9uLm1hdGNoICYmICFvcHRpb25zW25hbWVdLm1hdGNoKGV4cGVjdGVkT3B0aW9uLm1hdGNoKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgT3B0aW9uIFwiJHtuYW1lfVwiIGRvZXNuJ3QgbWF0Y2ggZXhwZWN0ZWQgdmFsdWVzOiAke2V4cGVjdGVkT3B0aW9uLm1hdGNofWApXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhcmFtc1tuYW1lXSA9IG9wdGlvbnNbbmFtZV1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBwYXJhbXNcbn1cbiJdfQ==
|
|
109
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/config",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.12.1",
|
|
4
4
|
"description": "A helper utility to parse and validate WebdriverIO options",
|
|
5
5
|
"author": "Christian Bromann <christian@saucelabs.com>",
|
|
6
6
|
"homepage": "https://github.com/webdriverio/webdriverio/tree/master/packages/wdio-config",
|
|
@@ -30,11 +30,12 @@
|
|
|
30
30
|
"url": "https://github.com/webdriverio/webdriverio/issues"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@wdio/logger": "^5.
|
|
34
|
-
"deepmerge": "^
|
|
33
|
+
"@wdio/logger": "^5.12.1",
|
|
34
|
+
"deepmerge": "^4.0.0",
|
|
35
35
|
"glob": "^7.1.2"
|
|
36
36
|
},
|
|
37
37
|
"publishConfig": {
|
|
38
38
|
"access": "public"
|
|
39
|
-
}
|
|
39
|
+
},
|
|
40
|
+
"gitHead": "848151e5fdcb8b694c1a273b9b69852c22875687"
|
|
40
41
|
}
|