@wdio/config 7.2.1 → 7.3.0

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.
@@ -89,3 +89,4 @@ exports.SUPPORTED_HOOKS = [
89
89
  exports.SUPPORTED_FILE_EXTENSIONS = [
90
90
  '.js', '.mjs', '.es6', '.ts', '.feature', '.coffee', '.cjs'
91
91
  ];
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxNQUFNLGVBQWUsR0FBRyxLQUFLLENBQUE7QUFFN0IsMEJBQTBCO0FBRWIsUUFBQSxlQUFlLEdBQW1ELEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDbEYsS0FBSyxFQUFFLEVBQUU7SUFDVCxNQUFNLEVBQUUsRUFBRTtJQUNWLE9BQU8sRUFBRSxFQUFFO0lBQ1gsU0FBUyxFQUFFLFNBQVM7SUFDcEIsUUFBUSxFQUFFLE1BQWU7SUFDekIsU0FBUyxFQUFFLEVBQUU7SUFDYixpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLElBQUksRUFBRSxDQUFDO0lBQ1AsZUFBZSxFQUFFLEdBQUc7SUFDcEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsU0FBUyxFQUFFLE9BQWdCO0lBQzNCLFNBQVMsRUFBRSxFQUFFO0lBQ2IsUUFBUSxFQUFFLEVBQUU7SUFDWixZQUFZLEVBQUUsR0FBRztJQUNqQix5QkFBeUIsRUFBRSxHQUFHO0lBQzlCLFlBQVksRUFBRSxFQUFFO0lBQ2hCLHNCQUFzQixFQUFFLE1BQU07SUFDOUIsb0JBQW9CLEVBQUUsQ0FBQztJQUN2QixRQUFRLEVBQUUsRUFBRTtJQUNaLFNBQVMsRUFBRSxFQUFFO0lBQ2IsTUFBTSxFQUFFLE9BQWdCO0lBQ3hCLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLG9CQUFvQixFQUFFLENBQUM7SUFDdkIsdUJBQXVCLEVBQUUsS0FBSztJQUM5QixvQkFBb0IsRUFBRSxHQUFHO0lBQ3pCLG1CQUFtQixFQUFFLElBQUk7SUFDekIsK0JBQStCLEVBQUUsRUFBRTtJQUNuQyxlQUFlLEVBQUU7UUFDYixXQUFXLEVBQUUsSUFBSTtRQUNqQixVQUFVLEVBQUU7WUFDUixhQUFhLEVBQUUsSUFBSTtTQUN0QjtRQUNELFNBQVMsRUFBRSxFQUFFO0tBQ2hCO0lBRUQ7O09BRUc7SUFDSCxTQUFTLEVBQUU7UUFDUCxPQUFPLEVBQUUsZUFBZTtLQUMzQjtJQUNELFdBQVcsRUFBRTtRQUNULHNCQUFzQixFQUFFLGVBQWU7S0FDMUM7SUFDRCxZQUFZLEVBQUU7UUFDVixPQUFPLEVBQUUsZUFBZTtLQUMzQjtJQUVEOztPQUVHO0lBQ0gsU0FBUyxFQUFFLEVBQUU7SUFDYixhQUFhLEVBQUUsRUFBRTtJQUNqQixNQUFNLEVBQUUsRUFBRTtJQUNWLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLFdBQVcsRUFBRSxFQUFFO0lBQ2YsVUFBVSxFQUFFLEVBQUU7SUFDZCxVQUFVLEVBQUUsRUFBRTtJQUNkLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLFlBQVksRUFBRSxFQUFFO0lBQ2hCLFNBQVMsRUFBRSxFQUFFO0lBQ2IsU0FBUyxFQUFFLEVBQUU7SUFDYixVQUFVLEVBQUUsRUFBRTtJQUNkLFlBQVksRUFBRSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxFQUFFO0lBQ1QsVUFBVSxFQUFFLEVBQUU7SUFDZCxRQUFRLEVBQUUsRUFBRTtJQUVaOztPQUVHO0lBQ0gsYUFBYSxFQUFFLEVBQUU7SUFDakIsY0FBYyxFQUFFLEVBQUU7SUFDbEIsVUFBVSxFQUFFLEVBQUU7SUFDZCxTQUFTLEVBQUUsRUFBRTtJQUNiLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLFlBQVksRUFBRSxFQUFFO0NBQ25CLENBQUMsQ0FBQTtBQUVXLFFBQUEsZUFBZSxHQUE2QjtJQUNyRCxRQUFRLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGVBQWU7SUFDckYsY0FBYyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxPQUFPO0lBQy9FLCtEQUErRDtJQUMvRCxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsY0FBYztJQUM3RixVQUFVLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxZQUFZO0NBQ3pELENBQUE7QUFFWSxRQUFBLHlCQUF5QixHQUFHO0lBQ3JDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU07Q0FDOUQsQ0FBQSJ9
package/build/index.js CHANGED
@@ -12,3 +12,4 @@ Object.defineProperty(exports, "validateConfig", { enumerable: true, get: functi
12
12
  Object.defineProperty(exports, "isCloudCapability", { enumerable: true, get: function () { return utils_1.isCloudCapability; } });
13
13
  const constants_1 = require("./constants");
14
14
  Object.defineProperty(exports, "DEFAULT_CONFIGS", { enumerable: true, get: function () { return constants_1.DEFAULT_CONFIGS; } });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLDBCQUEwQjs7Ozs7O0FBRTFCLHNFQUE2QztBQU96Qyx1QkFQRyxzQkFBWSxDQU9IO0FBTmhCLG1DQUFpRjtBQUk3RSwrRkFKSyxzQkFBYyxPQUlMO0FBQ2Qsa0dBTHFCLHlCQUFpQixPQUtyQjtBQUpyQiwyQ0FBNkM7QUFVekMsZ0dBVkssMkJBQWUsT0FVTCJ9
@@ -52,12 +52,12 @@ export default class ConfigParser {
52
52
  /**
53
53
  * get excluded files from config pattern
54
54
  */
55
- getSpecs(capSpecs?: string[], capExclude?: string[]): string[];
55
+ getSpecs(capSpecs?: string[], capExclude?: string[]): (string | string[])[];
56
56
  /**
57
57
  * sets config attribute with file paths from filtering
58
58
  * options from cli argument
59
59
  *
60
- * @param {String} cliArgFileList list of files in a string from
60
+ * @param {String[]} cliArgFileList list of files in a string form
61
61
  * @param {Object} config config object that stores the spec and exclude attributes
62
62
  * cli argument
63
63
  * @return {String[]} List of files that should be included or excluded
@@ -72,12 +72,23 @@ export default class ConfigParser {
72
72
  */
73
73
  getCapabilities(i?: number): Capabilities.DesiredCapabilities | Capabilities.W3CCapabilities | (Capabilities.DesiredCapabilities | Capabilities.W3CCapabilities)[] | Capabilities.MultiRemoteCapabilities;
74
74
  /**
75
- * returns a flatten list of globed files
75
+ * returns a flattened list of globbed files
76
76
  *
77
- * @param {String[]} filenames list of files to glob
78
- * @return {String[]} list of files
77
+ * @param {String[] | String[][]} filenames list of files to glob
78
+ * @param {Boolean} flag to indicate omission of warnings
79
+ * @param {FileSystemPathService} file system path service for expanding globbed file names
80
+ * @param {number} hierarchy depth to prevent recursive calling beyond a depth of 1
81
+ * @return {String[] | String[][]} list of files
79
82
  */
80
- static getFilePaths(patterns: string[], omitWarnings?: boolean, findAndGlob?: CurrentPathFinder & Globber & DeterminesAbsolutePath): string[];
83
+ static getFilePaths(patterns: (string | string[])[], omitWarnings?: boolean, findAndGlob?: CurrentPathFinder & Globber & DeterminesAbsolutePath, hierarchyDepth?: number): (string | string[])[];
84
+ /**
85
+ * returns specs files with the excludes filtered
86
+ *
87
+ * @param {String[] | String[][]} spec files - list of spec files
88
+ * @param {String[]} exclude files - list of exclude files
89
+ * @return {String[] | String[][]} list of spec files with excludes removed
90
+ */
91
+ filterSpecs(specs: (string | string[])[], exclude: string[]): (string | string[])[];
81
92
  }
82
93
  export {};
83
94
  //# sourceMappingURL=ConfigParser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigParser.d.ts","sourceRoot":"","sources":["../../src/lib/ConfigParser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,EAEgB,oBAAoB,EAC1C,MAAM,UAAU,CAAA;AAajB,UAAU,+BAAgC,SAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC;IACtF,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAA;CACjD;AAED,UAAU,WAAY,SAAQ,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7F,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC9B;AAGD,UAAU,iBAAiB;IACvB,MAAM,IAAI,MAAM,CAAA;CACnB;AAGD,UAAU,cAAc;IACpB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAA;CAC/B;AAGD,UAAU,cAAc;IACpB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAChC;AAED,UAAU,sBAAsB;IAC5B,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3C;AAGD,UAAU,OAAO;IACb,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,WAAY,SAAQ,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB;CAAG;AAE1H,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,OAAO,CAAC,OAAO,CAAqD;IACpE,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,qBAAqB,CAAuB;gBAExC,WAAW,GAAE,WAAyC,EAAE,oBAAoB,GAAC,oBAA2C;IAKpI,WAAW;IASX;;;OAGG;IACH,aAAa,CAAE,QAAQ,EAAE,MAAM;IA+C/B;;;OAGG;IACH,KAAK,CAAE,MAAM,GAAE,WAAgB;IAwC/B;;;OAGG;IACH,UAAU,CAAE,OAAO,EAAE,QAAQ,CAAC,KAAK;IA+BnC;;OAEG;IACH,QAAQ,CAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE;IAqDpD;;;;;;;;OAQG;IACH,0BAA0B,CAAE,cAAc,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAwBtE;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,eAAe,CAAE,CAAC,CAAC,EAAE,MAAM;IAQ3B;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,GAAE,iBAAiB,GAAG,OAAO,GAAG,sBAAoD;CA8BnK"}
1
+ {"version":3,"file":"ConfigParser.d.ts","sourceRoot":"","sources":["../../src/lib/ConfigParser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAElE,OAAO,EAEgB,oBAAoB,EAC1C,MAAM,UAAU,CAAA;AAajB,UAAU,+BAAgC,SAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC;IACtF,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAA;CACjD;AAED,UAAU,WAAY,SAAQ,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7F,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAC9B;AAGD,UAAU,iBAAiB;IACvB,MAAM,IAAI,MAAM,CAAA;CACnB;AAGD,UAAU,cAAc;IACpB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAA;CAC/B;AAGD,UAAU,cAAc;IACpB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAChC;AAED,UAAU,sBAAsB;IAC5B,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3C;AAGD,UAAU,OAAO;IACb,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,WAAY,SAAQ,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB;CAAG;AAE1H,MAAM,CAAC,OAAO,OAAO,YAAY;IAC7B,OAAO,CAAC,OAAO,CAAqD;IACpE,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,YAAY,CAAc;IAClC,OAAO,CAAC,qBAAqB,CAAuB;gBAExC,WAAW,GAAE,WAAyC,EAAE,oBAAoB,GAAE,oBAA2C;IAKrI,WAAW;IASX;;;OAGG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM;IA+C9B;;;OAGG;IACH,KAAK,CAAC,MAAM,GAAE,WAAgB;IAwC9B;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK;IA+BlC;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE;IAqDnD;;;;;;;;OAQG;IACH,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAoCrE;;OAEG;IACH,SAAS;IAIT;;OAEG;IACH,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM;IAQ1B;;;;;;;;OAQG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,GAAE,iBAAiB,GAAG,OAAO,GAAG,sBAAoD,EAAE,cAAc,CAAC,EAAE,MAAM;IA+CrM;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;CAU9D"}
@@ -165,6 +165,7 @@ class ConfigParser {
165
165
  log.warn(`No suite was found with name "${suiteName}"`);
166
166
  }
167
167
  if (Array.isArray(suite)) {
168
+ // Not supporting hierarchical suites - return will always be string[]
168
169
  suiteSpecs = suiteSpecs.concat(ConfigParser.getFilePaths(suite, undefined, this._pathService));
169
170
  }
170
171
  }
@@ -190,13 +191,13 @@ class ConfigParser {
190
191
  if (Array.isArray(capExclude)) {
191
192
  exclude = ConfigParser.getFilePaths(capExclude, undefined, this._pathService);
192
193
  }
193
- return specs.filter(spec => !exclude.includes(spec));
194
+ return this.filterSpecs(specs, exclude);
194
195
  }
195
196
  /**
196
197
  * sets config attribute with file paths from filtering
197
198
  * options from cli argument
198
199
  *
199
- * @param {String} cliArgFileList list of files in a string from
200
+ * @param {String[]} cliArgFileList list of files in a string form
200
201
  * @param {Object} config config object that stores the spec and exclude attributes
201
202
  * cli argument
202
203
  * @return {String[]} List of files that should be included or excluded
@@ -206,6 +207,8 @@ class ConfigParser {
206
207
  const fileList = ConfigParser.getFilePaths(config, undefined, this._pathService);
207
208
  cliArgFileList.forEach(filteredFile => {
208
209
  filteredFile = utils_1.removeLineNumbers(filteredFile);
210
+ // Send single file/file glob to getFilePaths - not supporting hierarchy in spec/exclude
211
+ // Return value will alwyas be string[]
209
212
  let globMatchedFiles = ConfigParser.getFilePaths(this._pathService.glob(filteredFile), undefined, this._pathService);
210
213
  if (this._pathService.isFile(filteredFile)) {
211
214
  filesToFilter.add(this._pathService.ensureAbsolutePath(filteredFile));
@@ -214,10 +217,21 @@ class ConfigParser {
214
217
  globMatchedFiles.forEach(file => filesToFilter.add(file));
215
218
  }
216
219
  else {
220
+ // fileList can be a string[] or a string[][]
217
221
  fileList.forEach(file => {
218
- if (file.match(filteredFile)) {
219
- filesToFilter.add(file);
222
+ if (typeof file === 'string') {
223
+ if (file.match(filteredFile)) {
224
+ filesToFilter.add(file);
225
+ }
220
226
  }
227
+ else if (Array.isArray(file)) {
228
+ file.forEach(subFile => {
229
+ if (subFile.match(filteredFile)) {
230
+ filesToFilter.add(subFile);
231
+ }
232
+ });
233
+ }
234
+ log.warn('Unexpected entry in specs that is neither string nor array: ', file);
221
235
  });
222
236
  }
223
237
  });
@@ -242,30 +256,72 @@ class ConfigParser {
242
256
  return this._capabilities;
243
257
  }
244
258
  /**
245
- * returns a flatten list of globed files
259
+ * returns a flattened list of globbed files
246
260
  *
247
- * @param {String[]} filenames list of files to glob
248
- * @return {String[]} list of files
261
+ * @param {String[] | String[][]} filenames list of files to glob
262
+ * @param {Boolean} flag to indicate omission of warnings
263
+ * @param {FileSystemPathService} file system path service for expanding globbed file names
264
+ * @param {number} hierarchy depth to prevent recursive calling beyond a depth of 1
265
+ * @return {String[] | String[][]} list of files
249
266
  */
250
- static getFilePaths(patterns, omitWarnings, findAndGlob = new FileSystemPathService_1.default()) {
267
+ static getFilePaths(patterns, omitWarnings, findAndGlob = new FileSystemPathService_1.default(), hierarchyDepth) {
251
268
  let files = [];
269
+ let groupedFiles = [];
252
270
  if (typeof patterns === 'string') {
253
271
  patterns = [patterns];
254
272
  }
273
+ // patterns must be an array of strings and/or string arrays
274
+ // check and throw and error if not
255
275
  if (!Array.isArray(patterns)) {
256
- throw new Error('specs or exclude property should be an array of strings');
276
+ throw new Error('specs or exclude property should be an array of strings, specs may also be an array of string arrays');
257
277
  }
258
- patterns = patterns.map(pattern => utils_1.removeLineNumbers(pattern));
278
+ patterns = patterns.map(pattern => {
279
+ if (Array.isArray(pattern)) {
280
+ return pattern.map(subPattern => utils_1.removeLineNumbers(subPattern));
281
+ }
282
+ return utils_1.removeLineNumbers(pattern);
283
+ });
259
284
  for (let pattern of patterns) {
260
- let filenames = findAndGlob.glob(pattern);
261
- filenames = filenames.filter((filename) => constants_1.SUPPORTED_FILE_EXTENSIONS.find((ext) => filename.endsWith(ext)));
262
- filenames = filenames.map(filename => findAndGlob.ensureAbsolutePath(filename));
263
- if (filenames.length === 0 && !omitWarnings) {
264
- log.warn('pattern', pattern, 'did not match any file');
285
+ // If pattern is an array, then call getFilePaths again
286
+ // But only call one level deep, can't have multiple levels of hierarchy
287
+ if (Array.isArray(pattern) && !hierarchyDepth) {
288
+ // Will always only get a string array back
289
+ groupedFiles = ConfigParser.getFilePaths(pattern, omitWarnings, findAndGlob, 1);
290
+ files.push(groupedFiles);
291
+ }
292
+ else if (Array.isArray(pattern) && hierarchyDepth) {
293
+ log.error('Unexpected depth of hierarchical arrays');
294
+ }
295
+ else {
296
+ let filenames = findAndGlob.glob(pattern);
297
+ filenames = filenames.filter((filename) => constants_1.SUPPORTED_FILE_EXTENSIONS.find((ext) => filename.endsWith(ext)));
298
+ filenames = filenames.map(filename => findAndGlob.ensureAbsolutePath(filename));
299
+ if (filenames.length === 0 && !omitWarnings) {
300
+ log.warn('pattern', pattern, 'did not match any file');
301
+ }
302
+ files = deepmerge_1.default(files, filenames, MERGE_OPTIONS);
265
303
  }
266
- files = deepmerge_1.default(files, filenames, MERGE_OPTIONS);
267
304
  }
268
305
  return files;
269
306
  }
307
+ /**
308
+ * returns specs files with the excludes filtered
309
+ *
310
+ * @param {String[] | String[][]} spec files - list of spec files
311
+ * @param {String[]} exclude files - list of exclude files
312
+ * @return {String[] | String[][]} list of spec files with excludes removed
313
+ */
314
+ filterSpecs(specs, exclude) {
315
+ return specs.reduce((returnVal, spec) => {
316
+ if (Array.isArray(spec)) {
317
+ returnVal.push(spec.filter(specItem => !exclude.includes(specItem)));
318
+ }
319
+ else if (exclude.indexOf(spec) === -1) {
320
+ returnVal.push(spec);
321
+ }
322
+ return returnVal;
323
+ }, []);
324
+ }
270
325
  }
271
326
  exports.default = ConfigParser;
327
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlnUGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9Db25maWdQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwwREFBNkI7QUFDN0IsMERBQWlDO0FBR2pDLG9DQUdpQjtBQUNqQiw0Q0FHcUI7QUFDckIsMkJBRVk7QUFDWixvRkFBMkQ7QUFDM0Qsc0VBQTZDO0FBQzdDLE1BQU0sR0FBRyxHQUFHLGdCQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtBQUMvQyxNQUFNLGFBQWEsR0FBRyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQTtBQXdDdEMsTUFBcUIsWUFBWTtJQU03QixZQUFZLGNBQTJCLElBQUksK0JBQXFCLEVBQUUsRUFBRSx1QkFBNkMsSUFBSSx3QkFBYyxFQUFFO1FBTDdILFlBQU8sR0FBb0MsbUJBQWUsRUFBRSxDQUFBO1FBQzVELGtCQUFhLEdBQW9DLEVBQUUsQ0FBQztRQUt4RCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQTtRQUMvQixJQUFJLENBQUMscUJBQXFCLEdBQUcsb0JBQW9CLENBQUE7SUFDckQsQ0FBQztJQUVELFdBQVc7UUFDUDs7V0FFRztRQUNILElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLElBQUksQ0FBQyx5QkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWdCLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUU7WUFDL0csR0FBRyxDQUFDLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFBO1NBQ25FO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxRQUFnQjtRQUMxQixJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUE7U0FDckQ7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFr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
@@ -32,3 +32,4 @@ class FileSystemPathService {
32
32
  }
33
33
  }
34
34
  exports.default = FileSystemPathService;
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZVN5c3RlbVBhdGhTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9GaWxlU3lzdGVtUGF0aFNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSw0REFBNEQ7QUFDNUQsNENBQW1CO0FBRW5CLGdEQUF1QjtBQUN2QixnREFBdUI7QUFFdkIsTUFBcUIscUJBQXFCO0lBQ3RDLE1BQU07UUFDRixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDekIsSUFBSyxPQUFPLEdBQUcsS0FBSyxXQUFXLEVBQUc7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFBO1NBQzNFO1FBQ0QsT0FBTyxHQUFHLENBQUE7SUFDZCxDQUFDO0lBRUQsUUFBUSxDQUFJLElBQVk7UUFDcEIsSUFBSyxDQUFDLElBQUksRUFBRTtZQUNSLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtTQUN4QztRQUNELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ3hCLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBZ0I7UUFDbkIsT0FBTyxDQUFDLFlBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksWUFBRSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBQ3ZFLENBQUM7SUFFRCxJQUFJLENBQUMsT0FBZTtRQUNoQixPQUFPLGNBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDN0IsQ0FBQztJQUVELGtCQUFrQixDQUFDLFFBQWdCO1FBQy9CLE9BQU8sY0FBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDdkcsQ0FBQztDQUNKO0FBM0JELHdDQTJCQyJ9
@@ -9,3 +9,4 @@ class RequireLibrary {
9
9
  }
10
10
  }
11
11
  exports.default = RequireLibrary;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWlyZUxpYnJhcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL1JlcXVpcmVMaWJyYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsTUFBcUIsY0FBYztJQUMvQixPQUFPLENBQUksTUFBYztRQUNyQixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQU0sQ0FBQTtJQUMvQixDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRSxPQUE2QjtRQUNsRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQzVDLENBQUM7Q0FDSjtBQVJELGlDQVFDIn0=
package/build/utils.js CHANGED
@@ -126,3 +126,4 @@ function loadBabelCompiler(babelOpts = {}, requireService) {
126
126
  }
127
127
  }
128
128
  exports.loadBabelCompiler = loadBabelCompiler;
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMERBQWlDO0FBSWpDLE1BQU0sR0FBRyxHQUFHLGdCQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtBQUUzQixRQUFBLGtCQUFrQixHQUFHLENBQUMsTUFBVyxFQUFpQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzFILENBQUMsT0FBTyxNQUFNLEtBQUssUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO0FBRWxFOzs7OztHQUtHO0FBQ0gsU0FBZ0IsaUJBQWlCLENBQUMsUUFBZ0I7SUFDOUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUMvQyxJQUFJLE9BQU8sRUFBRTtRQUNULFFBQVEsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7S0FDbEQ7SUFDRCxPQUFPLFFBQVEsQ0FBQTtBQUNuQixDQUFDO0FBTkQsOENBTUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsK0JBQStCLENBQUMsSUFBdUI7SUFDbkUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2pELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFBO0FBQ3RELENBQUM7QUFIRCwwRUFHQztBQUVELFNBQWdCLGlC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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdio/config",
3
- "version": "7.2.1",
3
+ "version": "7.3.0",
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/main/packages/wdio-config",
@@ -35,5 +35,5 @@
35
35
  "minimatch": "^3.0.4",
36
36
  "tsconfig-paths": "^3.9.0"
37
37
  },
38
- "gitHead": "aa35412bc2f9a1591ace955f91ee7e7eef278ee5"
38
+ "gitHead": "318898b46dc7a7002d9487fc233d371a37dc6ccd"
39
39
  }