@wdio/config 9.27.1 → 9.28.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.
|
@@ -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;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;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,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;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;CAClB;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;IA8CzC;;;OAGG;YACW,aAAa;IA6D3B;;;;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;IAgF/C;;;;;;;;OAQG;IACH,0BAA0B,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,EAAE,OAAO;IAgDnF;;OAEG;IACH,SAAS,IAIkB,QAAQ,CAAC,WAAW,CAAC,MAAM,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;IA2BhD,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE;CAWtB"}
|
package/build/node/index.js
CHANGED
|
@@ -208,6 +208,43 @@ var NO_NAMED_CONFIG_EXPORT = 'No named export object called "config" found. Make
|
|
|
208
208
|
|
|
209
209
|
// src/utils.ts
|
|
210
210
|
var validObjectOrArray = (object) => Array.isArray(object) && object.length > 0 || typeof object === "object" && Object.keys(object).length > 0;
|
|
211
|
+
function applyHeadlessFlag(caps, headless) {
|
|
212
|
+
const target = caps.alwaysMatch || caps;
|
|
213
|
+
const browser = (target.browserName || "").toLowerCase();
|
|
214
|
+
if (!browser && !("alwaysMatch" in caps)) {
|
|
215
|
+
for (const key of Object.keys(caps)) {
|
|
216
|
+
const val = caps[key];
|
|
217
|
+
if (val && typeof val === "object" && val.browserName) {
|
|
218
|
+
applyHeadlessFlag(val, headless);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return caps;
|
|
222
|
+
}
|
|
223
|
+
if (browser === "chrome" || browser === "chromium") {
|
|
224
|
+
const opts = target["goog:chromeOptions"] || {};
|
|
225
|
+
const args = opts.args || [];
|
|
226
|
+
const alreadyHasHeadless = args.some((a) => a === "--headless" || a === "headless" || a.startsWith("--headless="));
|
|
227
|
+
target["goog:chromeOptions"] = {
|
|
228
|
+
...opts,
|
|
229
|
+
args: headless ? Array.from(/* @__PURE__ */ new Set([...args, ...alreadyHasHeadless ? [] : ["--headless"], "--disable-gpu"])) : args.filter((a) => a !== "--headless" && a !== "headless" && !a.startsWith("--headless="))
|
|
230
|
+
};
|
|
231
|
+
} else if (browser === "firefox") {
|
|
232
|
+
const opts = target["moz:firefoxOptions"] || {};
|
|
233
|
+
const args = opts.args || [];
|
|
234
|
+
target["moz:firefoxOptions"] = {
|
|
235
|
+
...opts,
|
|
236
|
+
args: headless ? Array.from(/* @__PURE__ */ new Set([...args, "-headless"])) : args.filter((a) => a !== "-headless" && a !== "--headless")
|
|
237
|
+
};
|
|
238
|
+
} else if (browser === "microsoftedge" || browser === "msedge" || browser === "edge") {
|
|
239
|
+
const opts = target["ms:edgeOptions"] || {};
|
|
240
|
+
const args = opts.args || [];
|
|
241
|
+
target["ms:edgeOptions"] = {
|
|
242
|
+
...opts,
|
|
243
|
+
args: headless ? Array.from(/* @__PURE__ */ new Set([...args, "--headless"])) : args.filter((a) => a !== "--headless" && a !== "headless" && !a.startsWith("--headless="))
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
return caps;
|
|
247
|
+
}
|
|
211
248
|
function removeLineNumbers(filePath) {
|
|
212
249
|
const matcher = filePath.match(/:\d+(:\d+$|$)/);
|
|
213
250
|
if (matcher) {
|
|
@@ -262,6 +299,16 @@ var ConfigParser = class _ConfigParser {
|
|
|
262
299
|
};
|
|
263
300
|
}
|
|
264
301
|
}
|
|
302
|
+
if (typeof this._initialConfig.headless === "boolean") {
|
|
303
|
+
const headless = this._initialConfig.headless;
|
|
304
|
+
if (Array.isArray(this._capabilities)) {
|
|
305
|
+
for (const cap of this._capabilities) {
|
|
306
|
+
applyHeadlessFlag(cap, headless);
|
|
307
|
+
}
|
|
308
|
+
} else if (this._capabilities && typeof this._capabilities === "object") {
|
|
309
|
+
applyHeadlessFlag(this._capabilities, headless);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
265
312
|
this.#isInitialised = true;
|
|
266
313
|
}
|
|
267
314
|
/**
|
package/build/utils.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import type { Options } from '@wdio/types';
|
|
2
2
|
export declare const validObjectOrArray: (object: object) => object is object | Array<unknown>;
|
|
3
|
+
/**
|
|
4
|
+
* Inject or strip headless CLI args from a single capability object.
|
|
5
|
+
* Handles Chrome/Chromium, Firefox, and Edge.
|
|
6
|
+
*/
|
|
7
|
+
export declare function applyHeadlessFlag(caps: WebdriverIO.Capabilities, headless: boolean): WebdriverIO.Capabilities;
|
|
3
8
|
/**
|
|
4
9
|
* remove line numbers from file path, ex:
|
|
5
10
|
* `/foo:9` or `c:\bar:14:5`
|
package/build/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAG1C,eAAO,MAAM,kBAAkB,GAAI,QAAQ,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;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,KAAG,WAAW,CAAC,MAGpG,CAAA;AAEF;;;;;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"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAG1C,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,KAAG,MAAM,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAClB,CAAA;AAElE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAG,WAAW,CAAC,YAAY,CA8C7G;AAED;;;;;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;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC,MAAM,KAAG,WAAW,CAAC,MAGpG,CAAA;AAEF;;;;;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.
|
|
3
|
+
"version": "9.28.0",
|
|
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,8 +37,8 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@wdio/logger": "9.18.0",
|
|
40
|
-
"@wdio/types": "9.
|
|
41
|
-
"@wdio/utils": "9.
|
|
40
|
+
"@wdio/types": "9.28.0",
|
|
41
|
+
"@wdio/utils": "9.28.0",
|
|
42
42
|
"deepmerge-ts": "^7.0.3",
|
|
43
43
|
"glob": "^10.2.2",
|
|
44
44
|
"import-meta-resolve": "^4.0.0",
|
|
@@ -50,5 +50,5 @@
|
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"minimatch": "^9.0.0"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "66baa0049385cd9161677e1e6728fde90db56f35"
|
|
54
54
|
}
|