@wdio/config 9.4.2 → 9.4.4

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/index.js CHANGED
@@ -80,7 +80,6 @@ var DEFAULT_CONFIGS = () => ({
80
80
  });
81
81
 
82
82
  // src/utils.ts
83
- import decamelize from "decamelize";
84
83
  function isCloudCapability(caps) {
85
84
  return Boolean(caps && (caps["bstack:options"] || caps["sauce:options"] || caps["tb:options"]));
86
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigParser.d.ts","sourceRoot":"","sources":["../../src/node/ConfigParser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAa,QAAQ,EAAE,MAAM,aAAa,CAAA;AAO7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAM9C,KAAK,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;AAK7B,UAAU,+BAAgC,SAAQ,OAAO,CAAC,UAAU;IAChE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,YAAY,CAAC,sBAAsB,CAAA;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,UAAU,WAAY,SAAQ,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7F,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,MAAM,CAAC,OAAO,OAAO,YAAY;;IAQzB;;;OAGG;IACH,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,YAAY;IAVxB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,aAAa,CAAC,CAA0C;gBAG5D,cAAc,EAAE,MAAM;IACtB;;;OAGG;IACK,cAAc,GAAE,OAAO,CAAC,+BAA+B,CAAM,EAC7D,YAAY,GAAE,WAAyC;IAmBnE;;OAEG;IACG,UAAU,CAAC,MAAM,GAAE,WAAgB;IA+BzC;;;OAGG;YACW,aAAa;IA2D3B;;;;OAIG;IACH,OAAO,CAAC,KAAK;IA4Eb;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK;IAkClC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE;IA4D/C;;;;;;;;OAQG;IACH,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IA8ClE;;OAEG;IACH,SAAS,IAIkB,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;IAGvD;;OAEG;IACH,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,sBAAsB,GAAG,YAAY,CAAC,+BAA+B;IAY/G;;;;;;;;OAQG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,WAAyC,EAAE,cAAc,CAAC,EAAE,MAAM;IAkDtI;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;IAyBhD,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;CAWtB"}
1
+ {"version":3,"file":"ConfigParser.d.ts","sourceRoot":"","sources":["../../src/node/ConfigParser.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAa,QAAQ,EAAE,MAAM,aAAa,CAAA;AAO7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAM9C,KAAK,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,CAAA;AAK7B,UAAU,+BAAgC,SAAQ,OAAO,CAAC,UAAU;IAChE,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,YAAY,CAAC,sBAAsB,CAAA;IAClD,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,UAAU,WAAY,SAAQ,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7F,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,YAAY,CAAC,EAAE,IAAI,EAAE,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAC5B;AAED,MAAM,CAAC,OAAO,OAAO,YAAY;;IAQzB;;;OAGG;IACH,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,YAAY;IAVxB,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,aAAa,CAAC,CAA0C;gBAG5D,cAAc,EAAE,MAAM;IACtB;;;OAGG;IACK,cAAc,GAAE,OAAO,CAAC,+BAA+B,CAAM,EAC7D,YAAY,GAAE,WAAyC;IAmBnE;;OAEG;IACG,UAAU,CAAC,MAAM,GAAE,WAAgB;IAgCzC;;;OAGG;YACW,aAAa;IA2D3B;;;;OAIG;IACH,OAAO,CAAC,KAAK;IA4Eb;;;OAGG;IACH,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK;IAkClC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE;IA4D/C;;;;;;;;OAQG;IACH,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;IA8ClE;;OAEG;IACH,SAAS,IAIkB,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC;IAGvD;;OAEG;IACH,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,sBAAsB,GAAG,YAAY,CAAC,+BAA+B;IAY/G;;;;;;;;OAQG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,GAAE,WAAyC,EAAE,cAAc,CAAC,EAAE,MAAM;IAkDtI;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;IAyBhD,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;CAWtB"}
@@ -1,6 +1,6 @@
1
1
  // src/node/ConfigParser.ts
2
2
  import path3 from "node:path";
3
- import logger2 from "@wdio/logger";
3
+ import logger from "@wdio/logger";
4
4
  import { deepmerge, deepmergeCustom } from "deepmerge-ts";
5
5
 
6
6
  // src/node/FileSystemPathService.ts
@@ -60,12 +60,21 @@ var FileSystemPathService = class {
60
60
  // src/node/utils.ts
61
61
  import url2 from "node:url";
62
62
  import path2 from "node:path";
63
- import { access } from "node:fs/promises";
64
- import { resolve } from "import-meta-resolve";
65
- import logger from "@wdio/logger";
63
+ function makeRelativeToCWD(files = []) {
64
+ const returnFiles = [];
65
+ for (const file of files) {
66
+ if (Array.isArray(file)) {
67
+ returnFiles.push(makeRelativeToCWD(file));
68
+ continue;
69
+ }
70
+ returnFiles.push(
71
+ file.startsWith("file:///") ? url2.fileURLToPath(file) : file.includes("/") ? path2.resolve(process.cwd(), file) : file
72
+ );
73
+ }
74
+ return returnFiles;
75
+ }
66
76
 
67
77
  // src/utils.ts
68
- import decamelize from "decamelize";
69
78
  var validObjectOrArray = (object) => Array.isArray(object) && object.length > 0 || typeof object === "object" && Object.keys(object).length > 0;
70
79
  function removeLineNumbers(filePath) {
71
80
  const matcher = filePath.match(/:\d+(:\d+$|$)/);
@@ -78,56 +87,6 @@ function isCucumberFeatureWithLineNumber(spec) {
78
87
  const specs = Array.isArray(spec) ? spec : [spec];
79
88
  return specs.some((s) => s.match(/:\d+(:\d+$|$)/));
80
89
  }
81
- function objectToEnv(params) {
82
- for (const [key, value] of Object.entries(params || {})) {
83
- const envKey = decamelize(key).toUpperCase();
84
- if (Array.isArray(value)) {
85
- process.env[envKey] = value.join(",");
86
- } else if (typeof value === "boolean" && value) {
87
- process.env[envKey] = "1";
88
- } else if (value instanceof RegExp) {
89
- process.env[envKey] = value.toString();
90
- } else if (typeof value === "object") {
91
- process.env[envKey] = JSON.stringify(value);
92
- } else if (value && typeof value.toString === "function") {
93
- process.env[envKey] = value.toString();
94
- }
95
- }
96
- }
97
-
98
- // src/node/utils.ts
99
- var log = logger("@wdio/config:utils");
100
- async function loadTypeScriptCompiler(tsConfigPath) {
101
- if (process.env.WDIO_WORKER_ID) {
102
- return false;
103
- }
104
- try {
105
- if (process.env.WDIO_UNIT_TESTS && process.env.THROW_TSX_RESOLVE) {
106
- throw new Error("test fail");
107
- }
108
- const loaderPath = await resolve("tsx", import.meta.url);
109
- await access(new URL(loaderPath));
110
- process.env.WDIO_LOAD_TSX = "1";
111
- objectToEnv({ tsConfigPath });
112
- return true;
113
- } catch (err) {
114
- log.debug(`Failed loading TSX: ${err.message}`);
115
- return false;
116
- }
117
- }
118
- function makeRelativeToCWD(files = []) {
119
- const returnFiles = [];
120
- for (const file of files) {
121
- if (Array.isArray(file)) {
122
- returnFiles.push(makeRelativeToCWD(file));
123
- continue;
124
- }
125
- returnFiles.push(
126
- file.startsWith("file:///") ? url2.fileURLToPath(file) : file.includes("/") ? path2.resolve(process.cwd(), file) : file
127
- );
128
- }
129
- return returnFiles;
130
- }
131
90
 
132
91
  // src/constants.ts
133
92
  var DEFAULT_TIMEOUT = 1e4;
@@ -252,7 +211,7 @@ var SUPPORTED_FILE_EXTENSIONS = [
252
211
  var NO_NAMED_CONFIG_EXPORT = 'No named export object called "config" found. Make sure you export the config object via `export.config = { ... }` when using CommonJS or `export const config = { ... }` when using ESM. Read more on this on https://webdriver.io/docs/configurationfile !';
253
212
 
254
213
  // src/node/ConfigParser.ts
255
- var log2 = logger2("@wdio/config:ConfigParser");
214
+ var log = logger("@wdio/config:ConfigParser");
256
215
  var MERGE_DUPLICATION = ["services", "reporters", "capabilities"];
257
216
  var ConfigParser = class _ConfigParser {
258
217
  constructor(configFilePath, _initialConfig = {}, _pathService = new FileSystemPathService()) {
@@ -277,7 +236,6 @@ var ConfigParser = class _ConfigParser {
277
236
  */
278
237
  async initialize(object = {}) {
279
238
  if (!this.#isInitialised) {
280
- await loadTypeScriptCompiler(this._config.tsConfigPath);
281
239
  await this.addConfigFile(this.#configFilePath);
282
240
  }
283
241
  this.merge({ ...object });
@@ -288,6 +246,7 @@ var ConfigParser = class _ConfigParser {
288
246
  }];
289
247
  } else if (Array.isArray(this._config.runner) && this._config.runner[0] === "browser") {
290
248
  this._config.runner[1].coverage = {
249
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
291
250
  ...this._config.runner[1].coverage,
292
251
  enabled: this._initialConfig.coverage
293
252
  };
@@ -325,7 +284,7 @@ var ConfigParser = class _ConfigParser {
325
284
  this._config = deepmerge(this._config, fileConfig);
326
285
  delete this._config.watch;
327
286
  } catch (e) {
328
- log2.error(`Failed loading configuration file: ${filePath}:`, e.message);
287
+ log.error(`Failed loading configuration file: ${filePath}:`, e.message);
329
288
  throw e;
330
289
  }
331
290
  }
@@ -426,7 +385,7 @@ var ConfigParser = class _ConfigParser {
426
385
  for (const suiteName of suites) {
427
386
  const suite = this._config.suites?.[suiteName];
428
387
  if (!suite) {
429
- log2.warn(`No suite was found with name "${suiteName}"`);
388
+ log.warn(`No suite was found with name "${suiteName}"`);
430
389
  }
431
390
  if (Array.isArray(suite)) {
432
391
  suiteSpecs = suiteSpecs.concat(_ConfigParser.getFilePaths(suite, this._config.rootDir, this._pathService));
@@ -489,7 +448,7 @@ var ConfigParser = class _ConfigParser {
489
448
  }
490
449
  });
491
450
  } else {
492
- log2.warn("Unexpected entry in specs that is neither string nor array: ", file);
451
+ log.warn("Unexpected entry in specs that is neither string nor array: ", file);
493
452
  }
494
453
  });
495
454
  }
@@ -549,7 +508,7 @@ var ConfigParser = class _ConfigParser {
549
508
  groupedFiles = _ConfigParser.getFilePaths(pattern, rootDir, findAndGlob, 1);
550
509
  files.push(groupedFiles);
551
510
  } else if (Array.isArray(pattern) && hierarchyDepth) {
552
- log2.error("Unexpected depth of hierarchical arrays");
511
+ log.error("Unexpected depth of hierarchical arrays");
553
512
  } else if (pattern.startsWith("file://")) {
554
513
  files.push(pattern);
555
514
  } else {
@@ -562,7 +521,7 @@ var ConfigParser = class _ConfigParser {
562
521
  );
563
522
  filenames = filenames.map((filename) => findAndGlob.ensureAbsolutePath(filename, rootDir));
564
523
  if (filenames.length === 0) {
565
- log2.warn("pattern", pattern, "did not match any file");
524
+ log.warn("pattern", pattern, "did not match any file");
566
525
  }
567
526
  files = [...files, ...new Set(filenames)];
568
527
  }
@@ -1,3 +1,2 @@
1
- export declare function loadTypeScriptCompiler(tsConfigPath?: string): Promise<boolean>;
2
1
  export declare function makeRelativeToCWD(files?: (string | string[])[]): (string | string[])[];
3
2
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/node/utils.ts"],"names":[],"mappings":"AAYA,wBAAsB,sBAAsB,CAAE,YAAY,CAAC,EAAE,MAAM,oBAwBlE;AAED,wBAAgB,iBAAiB,CAAE,KAAK,GAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAO,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAkB3F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/node/utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,CAAE,KAAK,GAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAO,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,CAkB3F"}
package/build/utils.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { Options } from '@wdio/types';
2
- export declare const validObjectOrArray: (object: any) => object is object | Array<any>;
2
+ export declare const validObjectOrArray: (object: object) => object is object | Array<unknown>;
3
3
  /**
4
4
  * remove line numbers from file path, ex:
5
5
  * `/foo:9` or `c:\bar:14:5`
@@ -21,5 +21,4 @@ export declare function isCloudCapability(caps: WebdriverIO.Capabilities): boole
21
21
  * @return {Object} validated config enriched with default values
22
22
  */
23
23
  export declare function validateConfig<T>(defaults: Options.Definition<T>, options: T, keysToKeep?: (keyof T)[]): T;
24
- export declare function objectToEnv(params?: Record<string, any>): void;
25
24
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,kBAAkB,WAAY,GAAG,KAAG,MAAM,IAAI,MAAM,GAAG,KAAK,CAAC,GAAG,CACX,CAAA;AAElE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,UAMjD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,WAGtE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,WAE/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,GAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KA+C5G;AAED,wBAAgB,WAAW,CAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAkBxD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C,eAAO,MAAM,kBAAkB,WAAY,MAAM,KAAG,MAAM,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAClB,CAAA;AAElE;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,UAMjD;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,WAGtE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,WAE/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,GAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KA+C5G"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wdio/config",
3
- "version": "9.4.2",
3
+ "version": "9.4.4",
4
4
  "description": "A helper utility to parse and validate WebdriverIO options",
5
5
  "author": "Christian Bromann <mail@bromann.dev>",
6
6
  "homepage": "https://github.com/webdriverio/webdriverio/tree/main/packages/wdio-config",
@@ -36,10 +36,9 @@
36
36
  "url": "https://github.com/webdriverio/webdriverio/issues"
37
37
  },
38
38
  "dependencies": {
39
- "@wdio/logger": "9.1.3",
40
- "@wdio/types": "9.4.2",
41
- "@wdio/utils": "9.4.2",
42
- "decamelize": "^6.0.0",
39
+ "@wdio/logger": "9.4.4",
40
+ "@wdio/types": "9.4.4",
41
+ "@wdio/utils": "9.4.4",
43
42
  "deepmerge-ts": "^7.0.3",
44
43
  "glob": "^10.2.2",
45
44
  "import-meta-resolve": "^4.0.0"
@@ -50,5 +49,5 @@
50
49
  "devDependencies": {
51
50
  "minimatch": "^9.0.0"
52
51
  },
53
- "gitHead": "e42d3e8d6958fd9a734fe1d9a9768357b6045893"
52
+ "gitHead": "d327d86e07d16eaa0ecdf0656c1868ba73261393"
54
53
  }