@wdio/config 9.4.2 → 9.4.3
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 +0 -1
- package/build/node/ConfigParser.d.ts.map +1 -1
- package/build/node/index.js +20 -62
- package/build/node/utils.d.ts +0 -1
- package/build/node/utils.d.ts.map +1 -1
- package/build/utils.d.ts +0 -1
- package/build/utils.d.ts.map +1 -1
- package/package.json +4 -5
package/build/index.js
CHANGED
|
@@ -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;
|
|
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;IA8BzC;;;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"}
|
package/build/node/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/node/ConfigParser.ts
|
|
2
2
|
import path3 from "node:path";
|
|
3
|
-
import
|
|
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
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
|
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 });
|
|
@@ -325,7 +283,7 @@ var ConfigParser = class _ConfigParser {
|
|
|
325
283
|
this._config = deepmerge(this._config, fileConfig);
|
|
326
284
|
delete this._config.watch;
|
|
327
285
|
} catch (e) {
|
|
328
|
-
|
|
286
|
+
log.error(`Failed loading configuration file: ${filePath}:`, e.message);
|
|
329
287
|
throw e;
|
|
330
288
|
}
|
|
331
289
|
}
|
|
@@ -426,7 +384,7 @@ var ConfigParser = class _ConfigParser {
|
|
|
426
384
|
for (const suiteName of suites) {
|
|
427
385
|
const suite = this._config.suites?.[suiteName];
|
|
428
386
|
if (!suite) {
|
|
429
|
-
|
|
387
|
+
log.warn(`No suite was found with name "${suiteName}"`);
|
|
430
388
|
}
|
|
431
389
|
if (Array.isArray(suite)) {
|
|
432
390
|
suiteSpecs = suiteSpecs.concat(_ConfigParser.getFilePaths(suite, this._config.rootDir, this._pathService));
|
|
@@ -489,7 +447,7 @@ var ConfigParser = class _ConfigParser {
|
|
|
489
447
|
}
|
|
490
448
|
});
|
|
491
449
|
} else {
|
|
492
|
-
|
|
450
|
+
log.warn("Unexpected entry in specs that is neither string nor array: ", file);
|
|
493
451
|
}
|
|
494
452
|
});
|
|
495
453
|
}
|
|
@@ -549,7 +507,7 @@ var ConfigParser = class _ConfigParser {
|
|
|
549
507
|
groupedFiles = _ConfigParser.getFilePaths(pattern, rootDir, findAndGlob, 1);
|
|
550
508
|
files.push(groupedFiles);
|
|
551
509
|
} else if (Array.isArray(pattern) && hierarchyDepth) {
|
|
552
|
-
|
|
510
|
+
log.error("Unexpected depth of hierarchical arrays");
|
|
553
511
|
} else if (pattern.startsWith("file://")) {
|
|
554
512
|
files.push(pattern);
|
|
555
513
|
} else {
|
|
@@ -562,7 +520,7 @@ var ConfigParser = class _ConfigParser {
|
|
|
562
520
|
);
|
|
563
521
|
filenames = filenames.map((filename) => findAndGlob.ensureAbsolutePath(filename, rootDir));
|
|
564
522
|
if (filenames.length === 0) {
|
|
565
|
-
|
|
523
|
+
log.warn("pattern", pattern, "did not match any file");
|
|
566
524
|
}
|
|
567
525
|
files = [...files, ...new Set(filenames)];
|
|
568
526
|
}
|
package/build/node/utils.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/node/utils.ts"],"names":[],"mappings":"
|
|
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
|
@@ -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
|
package/build/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"
|
|
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,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wdio/config",
|
|
3
|
-
"version": "9.4.
|
|
3
|
+
"version": "9.4.3",
|
|
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",
|
|
@@ -37,9 +37,8 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@wdio/logger": "9.1.3",
|
|
40
|
-
"@wdio/types": "9.4.
|
|
41
|
-
"@wdio/utils": "9.4.
|
|
42
|
-
"decamelize": "^6.0.0",
|
|
40
|
+
"@wdio/types": "9.4.3",
|
|
41
|
+
"@wdio/utils": "9.4.3",
|
|
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": "
|
|
52
|
+
"gitHead": "8ee63eaefd86cf06eea832bb8d4c1920e9cc4e55"
|
|
54
53
|
}
|