appium 3.3.0 → 3.3.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/lib/appium.d.ts +147 -205
- package/build/lib/appium.d.ts.map +1 -1
- package/build/lib/appium.js +169 -282
- package/build/lib/appium.js.map +1 -1
- package/build/lib/bidi-commands.d.ts.map +1 -1
- package/build/lib/bidi-commands.js +11 -11
- package/build/lib/bidi-commands.js.map +1 -1
- package/build/lib/bootstrap/appium-initializer.d.ts +21 -0
- package/build/lib/bootstrap/appium-initializer.d.ts.map +1 -0
- package/build/lib/bootstrap/appium-initializer.js +146 -0
- package/build/lib/bootstrap/appium-initializer.js.map +1 -0
- package/build/lib/bootstrap/appium-main-runner.d.ts +22 -0
- package/build/lib/bootstrap/appium-main-runner.d.ts.map +1 -0
- package/build/lib/bootstrap/appium-main-runner.js +109 -0
- package/build/lib/bootstrap/appium-main-runner.js.map +1 -0
- package/build/lib/bootstrap/config-file.d.ts +37 -0
- package/build/lib/bootstrap/config-file.d.ts.map +1 -0
- package/build/lib/{config-file.js → bootstrap/config-file.js} +9 -26
- package/build/lib/bootstrap/config-file.js.map +1 -0
- package/build/lib/bootstrap/grid-v3-register.d.ts +20 -0
- package/build/lib/bootstrap/grid-v3-register.d.ts.map +1 -0
- package/build/lib/{grid-register.js → bootstrap/grid-v3-register.js} +28 -13
- package/build/lib/bootstrap/grid-v3-register.js.map +1 -0
- package/build/lib/bootstrap/init-types.d.ts +16 -0
- package/build/lib/bootstrap/init-types.d.ts.map +1 -0
- package/build/lib/bootstrap/init-types.js +3 -0
- package/build/lib/bootstrap/init-types.js.map +1 -0
- package/build/lib/bootstrap/main-helpers.d.ts +55 -0
- package/build/lib/bootstrap/main-helpers.d.ts.map +1 -0
- package/build/lib/bootstrap/main-helpers.js +187 -0
- package/build/lib/bootstrap/main-helpers.js.map +1 -0
- package/build/lib/bootstrap/node-helpers.d.ts +32 -0
- package/build/lib/bootstrap/node-helpers.d.ts.map +1 -0
- package/build/lib/bootstrap/node-helpers.js +201 -0
- package/build/lib/bootstrap/node-helpers.js.map +1 -0
- package/build/lib/bootstrap/startup-config.d.ts +22 -0
- package/build/lib/bootstrap/startup-config.d.ts.map +1 -0
- package/build/lib/bootstrap/startup-config.js +111 -0
- package/build/lib/bootstrap/startup-config.js.map +1 -0
- package/build/lib/cli/args.d.ts.map +1 -1
- package/build/lib/cli/args.js +9 -9
- package/build/lib/cli/args.js.map +1 -1
- package/build/lib/cli/extension-command.d.ts +95 -95
- package/build/lib/cli/extension-command.d.ts.map +1 -1
- package/build/lib/cli/extension-command.js +18 -18
- package/build/lib/cli/extension-command.js.map +1 -1
- package/build/lib/cli/extension.d.ts +1 -1
- package/build/lib/cli/extension.d.ts.map +1 -1
- package/build/lib/cli/extension.js +5 -5
- package/build/lib/cli/extension.js.map +1 -1
- package/build/lib/cli/parser.d.ts +8 -8
- package/build/lib/cli/parser.d.ts.map +1 -1
- package/build/lib/cli/parser.js +49 -49
- package/build/lib/cli/parser.js.map +1 -1
- package/build/lib/cli/setup-command.js +6 -6
- package/build/lib/cli/setup-command.js.map +1 -1
- package/build/lib/cli/utils.d.ts +17 -17
- package/build/lib/cli/utils.d.ts.map +1 -1
- package/build/lib/cli/utils.js +29 -29
- package/build/lib/cli/utils.js.map +1 -1
- package/build/lib/doctor/doctor.d.ts +2 -2
- package/build/lib/doctor/doctor.d.ts.map +1 -1
- package/build/lib/doctor/doctor.js +6 -6
- package/build/lib/doctor/doctor.js.map +1 -1
- package/build/lib/extension/driver-config.d.ts +18 -77
- package/build/lib/extension/driver-config.d.ts.map +1 -1
- package/build/lib/extension/driver-config.js +37 -125
- package/build/lib/extension/driver-config.js.map +1 -1
- package/build/lib/extension/extension-config.d.ts +103 -210
- package/build/lib/extension/extension-config.d.ts.map +1 -1
- package/build/lib/extension/extension-config.js +180 -342
- package/build/lib/extension/extension-config.js.map +1 -1
- package/build/lib/extension/index.d.ts +12 -29
- package/build/lib/extension/index.d.ts.map +1 -1
- package/build/lib/extension/index.js +33 -75
- package/build/lib/extension/index.js.map +1 -1
- package/build/lib/extension/manifest-migrations.d.ts +3 -20
- package/build/lib/extension/manifest-migrations.d.ts.map +1 -1
- package/build/lib/extension/manifest-migrations.js +20 -101
- package/build/lib/extension/manifest-migrations.js.map +1 -1
- package/build/lib/extension/manifest.d.ts +61 -107
- package/build/lib/extension/manifest.d.ts.map +1 -1
- package/build/lib/extension/manifest.js +181 -356
- package/build/lib/extension/manifest.js.map +1 -1
- package/build/lib/extension/package-changed.d.ts +1 -3
- package/build/lib/extension/package-changed.d.ts.map +1 -1
- package/build/lib/extension/package-changed.js +8 -15
- package/build/lib/extension/package-changed.js.map +1 -1
- package/build/lib/extension/plugin-config.d.ts +10 -52
- package/build/lib/extension/plugin-config.d.ts.map +1 -1
- package/build/lib/extension/plugin-config.js +11 -63
- package/build/lib/extension/plugin-config.js.map +1 -1
- package/build/lib/helpers/build.d.ts +22 -0
- package/build/lib/helpers/build.d.ts.map +1 -0
- package/build/lib/helpers/build.js +109 -0
- package/build/lib/helpers/build.js.map +1 -0
- package/build/lib/helpers/capability.d.ts +38 -0
- package/build/lib/helpers/capability.d.ts.map +1 -0
- package/build/lib/helpers/capability.js +128 -0
- package/build/lib/helpers/capability.js.map +1 -0
- package/build/lib/helpers/network.d.ts +14 -0
- package/build/lib/helpers/network.d.ts.map +1 -0
- package/build/lib/helpers/network.js +35 -0
- package/build/lib/helpers/network.js.map +1 -0
- package/build/lib/insecure-features.js +6 -6
- package/build/lib/insecure-features.js.map +1 -1
- package/build/lib/inspector-commands.d.ts +6 -0
- package/build/lib/inspector-commands.d.ts.map +1 -1
- package/build/lib/inspector-commands.js +6 -0
- package/build/lib/inspector-commands.js.map +1 -1
- package/build/lib/logger.d.ts +2 -3
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/logger.js +2 -3
- package/build/lib/logger.js.map +1 -1
- package/build/lib/main.d.ts +15 -58
- package/build/lib/main.d.ts.map +1 -1
- package/build/lib/main.js +25 -425
- package/build/lib/main.js.map +1 -1
- package/build/lib/schema/cli-args-guards.d.ts +34 -0
- package/build/lib/schema/cli-args-guards.d.ts.map +1 -0
- package/build/lib/schema/cli-args-guards.js +49 -0
- package/build/lib/schema/cli-args-guards.js.map +1 -0
- package/build/lib/schema/cli-args.js +2 -2
- package/build/lib/schema/cli-args.js.map +1 -1
- package/build/lib/schema/format-errors.d.ts +28 -0
- package/build/lib/schema/format-errors.d.ts.map +1 -0
- package/build/lib/schema/format-errors.js +29 -0
- package/build/lib/schema/format-errors.js.map +1 -0
- package/build/lib/schema/index.d.ts +2 -0
- package/build/lib/schema/index.d.ts.map +1 -1
- package/build/lib/schema/index.js +2 -0
- package/build/lib/schema/index.js.map +1 -1
- package/build/lib/schema/schema.d.ts +15 -15
- package/build/lib/schema/schema.d.ts.map +1 -1
- package/build/lib/schema/schema.js +37 -37
- package/build/lib/schema/schema.js.map +1 -1
- package/build/lib/utils.d.ts +0 -81
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js +1 -248
- package/build/lib/utils.js.map +1 -1
- package/lib/{appium.js → appium.ts} +297 -341
- package/lib/bidi-commands.ts +10 -14
- package/lib/bootstrap/appium-initializer.ts +212 -0
- package/lib/bootstrap/appium-main-runner.ts +172 -0
- package/lib/{config-file.ts → bootstrap/config-file.ts} +29 -63
- package/lib/{grid-register.ts → bootstrap/grid-v3-register.ts} +35 -35
- package/lib/bootstrap/init-types.ts +31 -0
- package/lib/bootstrap/main-helpers.ts +223 -0
- package/lib/bootstrap/node-helpers.ts +180 -0
- package/lib/bootstrap/startup-config.ts +143 -0
- package/lib/cli/args.ts +10 -10
- package/lib/cli/extension-command.ts +132 -132
- package/lib/cli/extension.ts +7 -7
- package/lib/cli/parser.ts +50 -50
- package/lib/cli/setup-command.ts +2 -2
- package/lib/cli/utils.ts +33 -33
- package/lib/doctor/doctor.ts +8 -8
- package/lib/extension/driver-config.ts +165 -0
- package/lib/extension/{extension-config.js → extension-config.ts} +291 -405
- package/lib/extension/index.ts +143 -0
- package/lib/extension/manifest-migrations.ts +57 -0
- package/lib/extension/manifest.ts +369 -0
- package/lib/extension/{package-changed.js → package-changed.ts} +9 -18
- package/lib/extension/plugin-config.ts +62 -0
- package/lib/helpers/build.ts +111 -0
- package/lib/helpers/capability.ts +171 -0
- package/lib/helpers/network.ts +30 -0
- package/lib/insecure-features.ts +1 -1
- package/lib/inspector-commands.ts +6 -1
- package/lib/{logger.js → logger.ts} +1 -2
- package/lib/main.ts +60 -0
- package/lib/schema/cli-args-guards.ts +67 -0
- package/lib/schema/cli-args.ts +1 -1
- package/lib/schema/format-errors.ts +43 -0
- package/lib/schema/index.ts +2 -0
- package/lib/schema/schema.ts +51 -52
- package/lib/utils.ts +0 -331
- package/package.json +12 -13
- package/scripts/autoinstall-extensions.js +3 -0
- package/build/lib/config-file.d.ts +0 -57
- package/build/lib/config-file.d.ts.map +0 -1
- package/build/lib/config-file.js.map +0 -1
- package/build/lib/config.d.ts +0 -68
- package/build/lib/config.d.ts.map +0 -1
- package/build/lib/config.js +0 -358
- package/build/lib/config.js.map +0 -1
- package/build/lib/grid-register.d.ts +0 -35
- package/build/lib/grid-register.d.ts.map +0 -1
- package/build/lib/grid-register.js.map +0 -1
- package/lib/config.ts +0 -377
- package/lib/extension/driver-config.js +0 -245
- package/lib/extension/index.js +0 -169
- package/lib/extension/manifest-migrations.js +0 -136
- package/lib/extension/manifest.js +0 -550
- package/lib/extension/plugin-config.js +0 -112
- package/lib/main.js +0 -545
|
@@ -36,45 +36,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.formatErrors = formatErrors;
|
|
40
39
|
exports.readConfigFile = readConfigFile;
|
|
41
40
|
exports.normalizeConfig = normalizeConfig;
|
|
42
|
-
const better_ajv_errors_1 = __importDefault(require("@sidvind/better-ajv-errors"));
|
|
43
41
|
const lilconfig_1 = require("lilconfig");
|
|
44
42
|
const lodash_1 = __importDefault(require("lodash"));
|
|
45
43
|
const yaml = __importStar(require("yaml"));
|
|
46
|
-
const schema_1 = require("
|
|
44
|
+
const schema_1 = require("../schema/schema");
|
|
45
|
+
const format_errors_1 = require("../schema/format-errors");
|
|
47
46
|
/**
|
|
48
47
|
* A cache of the raw config file (a JSON string) at a filepath.
|
|
49
48
|
* This is used for better error reporting.
|
|
50
49
|
* Note that config files needn't be JSON, but it helps if they are.
|
|
51
50
|
*/
|
|
52
51
|
const rawConfig = new Map();
|
|
53
|
-
/**
|
|
54
|
-
* Given an array of errors and the result of loading a config file, generate a
|
|
55
|
-
* helpful string for the user.
|
|
56
|
-
*
|
|
57
|
-
* - If `opts` contains a `json` property, this should be the original JSON
|
|
58
|
-
* _string_ of the config file. This is only applicable if the config file
|
|
59
|
-
* was in JSON format. If present, it will associate line numbers with errors.
|
|
60
|
-
* - If `errors` happens to be empty, this will throw.
|
|
61
|
-
*
|
|
62
|
-
* @throws {TypeError} If `errors` is empty
|
|
63
|
-
*/
|
|
64
|
-
function formatErrors(errors = [], config = {}, opts = {}) {
|
|
65
|
-
if (errors && !errors.length) {
|
|
66
|
-
throw new TypeError('Array of errors must be non-empty');
|
|
67
|
-
}
|
|
68
|
-
return (0, better_ajv_errors_1.default)((0, schema_1.getSchema)(opts.schemaId), config, errors, {
|
|
69
|
-
json: opts.json,
|
|
70
|
-
format: opts.pretty === false ? 'js' : 'cli',
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
52
|
/**
|
|
74
53
|
* Given an optional path, read a config file. Validates the config file.
|
|
75
54
|
*
|
|
76
55
|
* Call {@link validate} if you already have a config object.
|
|
77
56
|
* @public
|
|
57
|
+
* @param filepath - Explicit config path; when omitted, searches with lilconfig
|
|
58
|
+
* @param opts - e.g. `pretty` for formatted validation errors
|
|
78
59
|
* @returns Contains config and filepath, if found, and any errors
|
|
79
60
|
*/
|
|
80
61
|
async function readConfigFile(filepath, opts = {}) {
|
|
@@ -97,7 +78,7 @@ async function readConfigFile(filepath, opts = {}) {
|
|
|
97
78
|
configResult = { ...result, errors };
|
|
98
79
|
}
|
|
99
80
|
else {
|
|
100
|
-
const reason = formatErrors(errors, result.config, {
|
|
81
|
+
const reason = (0, format_errors_1.formatErrors)(errors, result.config, {
|
|
101
82
|
json: rawConfig.get(result.filepath),
|
|
102
83
|
pretty,
|
|
103
84
|
});
|
|
@@ -115,8 +96,10 @@ async function readConfigFile(filepath, opts = {}) {
|
|
|
115
96
|
return result ?? {};
|
|
116
97
|
}
|
|
117
98
|
/**
|
|
118
|
-
*
|
|
119
|
-
*
|
|
99
|
+
* Converts schema property names to either the `appiumCliDest` value, if any, or camelCase.
|
|
100
|
+
*
|
|
101
|
+
* @param config - Raw config object as parsed from file
|
|
102
|
+
* @returns New object with camel-cased keys (or CLI `dest` keys).
|
|
120
103
|
*/
|
|
121
104
|
function normalizeConfig(config) {
|
|
122
105
|
const schema = (0, schema_1.getSchema)();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-file.js","sourceRoot":"","sources":["../../../lib/bootstrap/config-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { StringRecord } from '@appium/types';
|
|
2
|
+
interface Grid3HubConfiguration {
|
|
3
|
+
hubProtocol?: string;
|
|
4
|
+
hubHost?: string;
|
|
5
|
+
hubPort?: number;
|
|
6
|
+
url?: string;
|
|
7
|
+
host?: string;
|
|
8
|
+
port?: number;
|
|
9
|
+
id?: string;
|
|
10
|
+
register?: boolean;
|
|
11
|
+
registerCycle?: number;
|
|
12
|
+
}
|
|
13
|
+
interface Grid3NodeConfig extends StringRecord {
|
|
14
|
+
configuration?: Grid3HubConfiguration;
|
|
15
|
+
capabilities?: unknown;
|
|
16
|
+
}
|
|
17
|
+
export default function registerNode(data: string, addr: string, port: number, basePath: string): Promise<void>;
|
|
18
|
+
export default function registerNode(data: Grid3NodeConfig, addr?: string, port?: number, basePath?: string): Promise<void>;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=grid-v3-register.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-v3-register.d.ts","sourceRoot":"","sources":["../../../lib/bootstrap/grid-v3-register.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAkBhD,UAAU,qBAAqB;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,eAAgB,SAAQ,YAAY;IAC5C,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAOD,wBAA8B,YAAY,CACxC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAAC;AACjB,wBAA8B,YAAY,CACxC,IAAI,EAAE,eAAe,EACrB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -7,7 +7,7 @@ exports.default = registerNode;
|
|
|
7
7
|
const axios_1 = __importDefault(require("axios"));
|
|
8
8
|
const support_1 = require("@appium/support");
|
|
9
9
|
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
-
const logger_1 =
|
|
10
|
+
const logger_1 = require("../logger");
|
|
11
11
|
/**
|
|
12
12
|
* Selenium **Grid 3** (legacy hub) node integration.
|
|
13
13
|
*
|
|
@@ -20,14 +20,29 @@ const logger_1 = __importDefault(require("./logger"));
|
|
|
20
20
|
/** REST paths exposed by a Selenium Grid 3 hub. */
|
|
21
21
|
const GRID_V3_REGISTER_PATH = '/grid/register';
|
|
22
22
|
const GRID_V3_PROXY_API_PATH = '/grid/api/proxy';
|
|
23
|
+
/**
|
|
24
|
+
* Registers this server as a node with a **Selenium Grid 3** hub.
|
|
25
|
+
*
|
|
26
|
+
* When `data` is a path to a JSON config file, `addr`, `port`, and `basePath` are required (they define
|
|
27
|
+
* how the hub reaches this Appium server). When `data` is an inline config object, those parameters are
|
|
28
|
+
* optional and only used to fill missing node URL fields in the config.
|
|
29
|
+
*
|
|
30
|
+
* @deprecated Selenium Grid 3 registration is legacy and slated for removal.
|
|
31
|
+
* Use Selenium Grid 4 integration (node relay) instead.
|
|
32
|
+
*
|
|
33
|
+
* @param data - Path to a JSON file or an inline parsed config object
|
|
34
|
+
* @param addr - Bind to this address
|
|
35
|
+
* @param port - Bind to this port
|
|
36
|
+
* @param basePath - Base path for the Appium server (used in the node URL sent to the hub; may be `''`)
|
|
37
|
+
*/
|
|
23
38
|
async function registerNode(data, addr, port, basePath) {
|
|
24
39
|
if (typeof data === 'string') {
|
|
25
40
|
if (addr === undefined || port === undefined || basePath === undefined) {
|
|
26
|
-
throw logger_1.
|
|
41
|
+
throw logger_1.log.errorWithException('When the first argument is a Selenium Grid 3 node config file path, address, port, and basePath ' +
|
|
27
42
|
'are required (e.g. match your Appium `--address`, `--port`, and base path).');
|
|
28
43
|
}
|
|
29
44
|
if (typeof port !== 'number' || !Number.isFinite(port)) {
|
|
30
|
-
throw logger_1.
|
|
45
|
+
throw logger_1.log.errorWithException('When registering from a node config file path, port must be a finite number.');
|
|
31
46
|
}
|
|
32
47
|
}
|
|
33
48
|
let configHolder;
|
|
@@ -38,7 +53,7 @@ async function registerNode(data, addr, port, basePath) {
|
|
|
38
53
|
fileContent = await support_1.fs.readFile(data, 'utf-8');
|
|
39
54
|
}
|
|
40
55
|
catch (err) {
|
|
41
|
-
logger_1.
|
|
56
|
+
logger_1.log.error(`Unable to load Selenium Grid 3 node configuration file ${configFilePath} to ` +
|
|
42
57
|
`register with the hub: ${err.message}`);
|
|
43
58
|
return;
|
|
44
59
|
}
|
|
@@ -46,7 +61,7 @@ async function registerNode(data, addr, port, basePath) {
|
|
|
46
61
|
configHolder = JSON.parse(fileContent);
|
|
47
62
|
}
|
|
48
63
|
catch (err) {
|
|
49
|
-
throw logger_1.
|
|
64
|
+
throw logger_1.log.errorWithException(`Syntax error in Selenium Grid 3 node configuration file ${configFilePath}: ` +
|
|
50
65
|
err.message);
|
|
51
66
|
}
|
|
52
67
|
}
|
|
@@ -71,10 +86,10 @@ async function registerToGrid(postOptions, configHolder) {
|
|
|
71
86
|
if (status !== 200) {
|
|
72
87
|
throw new Error(`Request failed with code ${status}`);
|
|
73
88
|
}
|
|
74
|
-
logger_1.
|
|
89
|
+
logger_1.log.debug(`Appium successfully registered with the Selenium Grid 3 hub at ` + hubUri(hubCfg));
|
|
75
90
|
}
|
|
76
91
|
catch (err) {
|
|
77
|
-
logger_1.
|
|
92
|
+
logger_1.log.error(`An attempt to register with the Selenium Grid 3 hub was unsuccessful: ` +
|
|
78
93
|
err.message);
|
|
79
94
|
}
|
|
80
95
|
}
|
|
@@ -116,18 +131,18 @@ function postRequest(configHolder, addr, port, basePath) {
|
|
|
116
131
|
data: configHolder,
|
|
117
132
|
};
|
|
118
133
|
if (cfg.register !== true) {
|
|
119
|
-
logger_1.
|
|
134
|
+
logger_1.log.debug(`No Selenium Grid 3 hub registration sent (${cfg.register} = false)`);
|
|
120
135
|
return;
|
|
121
136
|
}
|
|
122
137
|
const registerCycleInterval = cfg.registerCycle;
|
|
123
138
|
if (registerCycleInterval === undefined || isNaN(registerCycleInterval) || registerCycleInterval <= 0) {
|
|
124
|
-
logger_1.
|
|
139
|
+
logger_1.log.warn(`'registerCycle' is not a valid positive number. ` +
|
|
125
140
|
`No registration request will be sent to the Selenium Grid 3 hub.`);
|
|
126
141
|
return;
|
|
127
142
|
}
|
|
128
143
|
// initiate a new Thread
|
|
129
144
|
let first = true;
|
|
130
|
-
logger_1.
|
|
145
|
+
logger_1.log.debug(`Starting auto-register thread for Selenium Grid 3. ` +
|
|
131
146
|
`Will try to register every ${registerCycleInterval} ms.`);
|
|
132
147
|
setInterval(async function registerRetry() {
|
|
133
148
|
if (first) {
|
|
@@ -159,12 +174,12 @@ async function isAlreadyRegistered(configHolder) {
|
|
|
159
174
|
}
|
|
160
175
|
if (!data.success) {
|
|
161
176
|
// if register fail, print the debug msg
|
|
162
|
-
logger_1.
|
|
177
|
+
logger_1.log.debug(`Selenium Grid 3 hub registration check: ${data.msg}`);
|
|
163
178
|
}
|
|
164
179
|
return data.success;
|
|
165
180
|
}
|
|
166
181
|
catch (err) {
|
|
167
|
-
logger_1.
|
|
182
|
+
logger_1.log.debug(`Selenium Grid 3 hub down or not responding: ${err.message}`);
|
|
168
183
|
}
|
|
169
184
|
}
|
|
170
|
-
//# sourceMappingURL=grid-register.js.map
|
|
185
|
+
//# sourceMappingURL=grid-v3-register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-v3-register.js","sourceRoot":"","sources":["../../../lib/bootstrap/grid-v3-register.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { AppiumDriver } from '../appium';
|
|
2
|
+
import type { Args, CliCommand, CliCommandServer, CliCommandSetupSubcommand, CliExtensionSubcommand, ParsedArgs } from 'appium/types';
|
|
3
|
+
import type { ExtensionConfigs } from '../extension';
|
|
4
|
+
/** Empty object returned when `init` completes for non-server CLI flows (extension/setup). */
|
|
5
|
+
export type ExtCommandInitResult = Record<string, never>;
|
|
6
|
+
/** Driver/plugin config plus server instance and merged server args after successful server `init`. */
|
|
7
|
+
export type ServerInitData = ExtensionConfigs & {
|
|
8
|
+
appiumDriver: AppiumDriver;
|
|
9
|
+
parsedArgs: ParsedArgs<CliCommandServer>;
|
|
10
|
+
appiumHome: string;
|
|
11
|
+
};
|
|
12
|
+
/** Discriminated by CLI command: server subcommand yields {@link ServerInitData}; otherwise {@link ExtCommandInitResult}. */
|
|
13
|
+
export type InitResult<Cmd extends CliCommand = CliCommandServer> = Cmd extends CliCommandServer ? ServerInitData : ExtCommandInitResult;
|
|
14
|
+
/** CLI + programmatic args before `init` narrows by `subcommand`. */
|
|
15
|
+
export type PreConfigArgs = Args<CliCommand, CliExtensionSubcommand | CliCommandSetupSubcommand | void>;
|
|
16
|
+
//# sourceMappingURL=init-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-types.d.ts","sourceRoot":"","sources":["../../../lib/bootstrap/init-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAEnD,8FAA8F;AAC9F,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAEzD,uGAAuG;AACvG,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAC9C,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,6HAA6H;AAC7H,MAAM,MAAM,UAAU,CAAC,GAAG,SAAS,UAAU,GAAG,gBAAgB,IAAI,GAAG,SAAS,gBAAgB,GAC5F,cAAc,GACd,oBAAoB,CAAC;AAEzB,qEAAqE;AACrE,MAAM,MAAM,aAAa,GAAG,IAAI,CAC9B,UAAU,EACV,sBAAsB,GAAG,yBAAyB,GAAG,IAAI,CAC1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init-types.js","sourceRoot":"","sources":["../../../lib/bootstrap/init-types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type ServerOpts } from '@appium/base-driver';
|
|
2
|
+
import type { AppiumServer, Driver, MethodMap, UpdateServerCallback } from '@appium/types';
|
|
3
|
+
import type { AppiumDriver } from '../appium';
|
|
4
|
+
import type { ParsedArgs, CliCommandServer } from 'appium/types';
|
|
5
|
+
import type { DriverNameMap, PluginNameMap } from '../extension';
|
|
6
|
+
/**
|
|
7
|
+
* Logs a value to the console using the info logger (with util.inspect formatting).
|
|
8
|
+
*/
|
|
9
|
+
export declare const inspect: (t1: unknown) => void;
|
|
10
|
+
/**
|
|
11
|
+
* Prints the current build info JSON to stdout.
|
|
12
|
+
*
|
|
13
|
+
* This updates build metadata first (using GitHub fallback) and then logs the
|
|
14
|
+
* resulting {@link BuildInfo} object.
|
|
15
|
+
*/
|
|
16
|
+
export declare function showBuildInfo(): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Human-readable label for where Appium resolved `APPIUM_HOME` from (CLI, env, or autodetect).
|
|
19
|
+
*/
|
|
20
|
+
export declare function determineAppiumHomeSource(appiumHomeFromArgs?: string | null): string;
|
|
21
|
+
/**
|
|
22
|
+
* Logs the REST listener URL; if the bind address is a broadcast address, lists concrete interface URLs.
|
|
23
|
+
*/
|
|
24
|
+
export declare function logServerAddress(url: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Validates Node version, optional long stack traces, schema, tmp dir, and `--build-info` early exit.
|
|
27
|
+
*
|
|
28
|
+
* @param args - Parsed server CLI args
|
|
29
|
+
* @param throwInsteadOfExit - When true, rethrows failures instead of calling `process.exit(1)`
|
|
30
|
+
*/
|
|
31
|
+
export declare function preflightChecks(args: ParsedArgs<CliCommandServer>, throwInsteadOfExit?: boolean): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Prints welcome line (version + optional git rev), non-default server args, and default capabilities.
|
|
34
|
+
*/
|
|
35
|
+
export declare function logStartupInfo(args: ParsedArgs<CliCommandServer>): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Collects `updateServer` hooks from active driver and plugin classes for HTTP server customization.
|
|
38
|
+
*/
|
|
39
|
+
export declare function getServerUpdaters(driverClasses: DriverNameMap, pluginClasses: PluginNameMap): UpdateServerCallback[];
|
|
40
|
+
/**
|
|
41
|
+
* Merges `newMethodMap` contributions from all active drivers and plugins into one method map.
|
|
42
|
+
*/
|
|
43
|
+
export declare function getExtraMethodMap(driverClasses: DriverNameMap, pluginClasses: PluginNameMap): MethodMap<Driver>;
|
|
44
|
+
/**
|
|
45
|
+
* Builds {@link ServerOpts} and normalized base path for the Appium HTTP server from CLI args and extensions.
|
|
46
|
+
*/
|
|
47
|
+
export declare function buildServerOpts(appiumDriver: AppiumDriver, parsedArgs: ParsedArgs<CliCommandServer>, driverClasses: DriverNameMap, pluginClasses: PluginNameMap): {
|
|
48
|
+
serverOpts: ServerOpts;
|
|
49
|
+
normalizedBasePath: string;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Creates the Appium HTTP server and attaches WebSocket handlers for BiDi under the normalized base path.
|
|
53
|
+
*/
|
|
54
|
+
export declare function createAppiumServer(serverOpts: ServerOpts, appiumDriver: AppiumDriver, normalizedBasePath: string): Promise<AppiumServer>;
|
|
55
|
+
//# sourceMappingURL=main-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main-helpers.d.ts","sourceRoot":"","sources":["../../../lib/bootstrap/main-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAGzF,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAO5C,OAAO,KAAK,EAAO,UAAU,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,EAAC,aAAa,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAI/D;;GAEG;AACH,eAAO,MAAM,OAAO,uBASnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAInD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAQpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAiBlD;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC,EAClC,kBAAkB,UAAQ,GACzB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAetF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC3B,oBAAoB,EAAE,CAExB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC,CAQ/G;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC,EACxC,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC3B;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAC,CAmBtD;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,YAAY,CAAC,CASvB"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.inspect = void 0;
|
|
7
|
+
exports.showBuildInfo = showBuildInfo;
|
|
8
|
+
exports.determineAppiumHomeSource = determineAppiumHomeSource;
|
|
9
|
+
exports.logServerAddress = logServerAddress;
|
|
10
|
+
exports.preflightChecks = preflightChecks;
|
|
11
|
+
exports.logStartupInfo = logStartupInfo;
|
|
12
|
+
exports.getServerUpdaters = getServerUpdaters;
|
|
13
|
+
exports.getExtraMethodMap = getExtraMethodMap;
|
|
14
|
+
exports.buildServerOpts = buildServerOpts;
|
|
15
|
+
exports.createAppiumServer = createAppiumServer;
|
|
16
|
+
const node_util_1 = require("node:util");
|
|
17
|
+
const logger_1 = require("../logger");
|
|
18
|
+
const base_driver_1 = require("@appium/base-driver");
|
|
19
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
20
|
+
const ws_1 = require("ws");
|
|
21
|
+
const build_1 = require("../helpers/build");
|
|
22
|
+
const node_helpers_1 = require("./node-helpers");
|
|
23
|
+
const startup_config_1 = require("./startup-config");
|
|
24
|
+
const schema_1 = require("../schema/schema");
|
|
25
|
+
const network_1 = require("../helpers/network");
|
|
26
|
+
const constants_1 = require("../constants");
|
|
27
|
+
const isStdoutTTY = process.stdout.isTTY;
|
|
28
|
+
/**
|
|
29
|
+
* Logs a value to the console using the info logger (with util.inspect formatting).
|
|
30
|
+
*/
|
|
31
|
+
exports.inspect = lodash_1.default.flow(lodash_1.default.partialRight(node_util_1.inspect, {
|
|
32
|
+
colors: true,
|
|
33
|
+
depth: null,
|
|
34
|
+
compact: !isStdoutTTY,
|
|
35
|
+
}), (...args) => {
|
|
36
|
+
logger_1.log.info(...args);
|
|
37
|
+
});
|
|
38
|
+
/**
|
|
39
|
+
* Prints the current build info JSON to stdout.
|
|
40
|
+
*
|
|
41
|
+
* This updates build metadata first (using GitHub fallback) and then logs the
|
|
42
|
+
* resulting {@link BuildInfo} object.
|
|
43
|
+
*/
|
|
44
|
+
async function showBuildInfo() {
|
|
45
|
+
await (0, build_1.updateBuildInfo)(true);
|
|
46
|
+
// eslint-disable-next-line no-console -- CLI output for --build-info
|
|
47
|
+
console.log(JSON.stringify((0, build_1.getBuildInfo)()));
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Human-readable label for where Appium resolved `APPIUM_HOME` from (CLI, env, or autodetect).
|
|
51
|
+
*/
|
|
52
|
+
function determineAppiumHomeSource(appiumHomeFromArgs) {
|
|
53
|
+
if (!lodash_1.default.isNil(appiumHomeFromArgs)) {
|
|
54
|
+
return 'appiumHome config value';
|
|
55
|
+
}
|
|
56
|
+
if (process.env.APPIUM_HOME) {
|
|
57
|
+
return 'APPIUM_HOME environment variable';
|
|
58
|
+
}
|
|
59
|
+
return 'autodetected Appium home path';
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Logs the REST listener URL; if the bind address is a broadcast address, lists concrete interface URLs.
|
|
63
|
+
*/
|
|
64
|
+
function logServerAddress(url) {
|
|
65
|
+
const urlObj = new URL(url);
|
|
66
|
+
logger_1.log.info(`Appium REST http interface listener started on ${url}`);
|
|
67
|
+
if (!(0, network_1.isBroadcastIp)(urlObj.hostname)) {
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
const interfaces = (0, network_1.fetchInterfaces)(urlObj.hostname === network_1.V4_BROADCAST_IP ? 4 : 6);
|
|
71
|
+
const toLabel = (iface) => {
|
|
72
|
+
const href = urlObj.href.replace(urlObj.hostname, iface.address);
|
|
73
|
+
return iface.internal ? `${href} (only accessible from the same host)` : href;
|
|
74
|
+
};
|
|
75
|
+
logger_1.log.info(`You can provide the following ${interfaces.length === 1 ? 'URL' : 'URLs'} ` +
|
|
76
|
+
`in your client code to connect to this server:\n` +
|
|
77
|
+
interfaces.map((iface) => `\t${toLabel(iface)}`).join('\n'));
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Validates Node version, optional long stack traces, schema, tmp dir, and `--build-info` early exit.
|
|
81
|
+
*
|
|
82
|
+
* @param args - Parsed server CLI args
|
|
83
|
+
* @param throwInsteadOfExit - When true, rethrows failures instead of calling `process.exit(1)`
|
|
84
|
+
*/
|
|
85
|
+
async function preflightChecks(args, throwInsteadOfExit = false) {
|
|
86
|
+
try {
|
|
87
|
+
(0, node_helpers_1.checkNodeOk)();
|
|
88
|
+
if (args.longStacktrace) {
|
|
89
|
+
Error.stackTraceLimit = constants_1.LONG_STACKTRACE_LIMIT;
|
|
90
|
+
}
|
|
91
|
+
if (args.showBuildInfo) {
|
|
92
|
+
await showBuildInfo();
|
|
93
|
+
process.exit(0);
|
|
94
|
+
}
|
|
95
|
+
(0, schema_1.validate)(args);
|
|
96
|
+
if (args.tmpDir) {
|
|
97
|
+
await (0, node_helpers_1.requireDir)(args.tmpDir, !args.noPermsCheck, 'tmpDir argument value');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
102
|
+
logger_1.log.error(message.red);
|
|
103
|
+
if (throwInsteadOfExit) {
|
|
104
|
+
throw err;
|
|
105
|
+
}
|
|
106
|
+
process.exit(1);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Prints welcome line (version + optional git rev), non-default server args, and default capabilities.
|
|
111
|
+
*/
|
|
112
|
+
async function logStartupInfo(args) {
|
|
113
|
+
let welcome = `Welcome to Appium v${build_1.APPIUM_VER}`;
|
|
114
|
+
const appiumRev = await (0, build_1.getGitRev)();
|
|
115
|
+
if (appiumRev) {
|
|
116
|
+
welcome += ` (REV ${appiumRev})`;
|
|
117
|
+
}
|
|
118
|
+
logger_1.log.info(welcome);
|
|
119
|
+
const showArgs = (0, startup_config_1.getNonDefaultServerArgs)(args);
|
|
120
|
+
if (lodash_1.default.size(showArgs)) {
|
|
121
|
+
logNonDefaultArgsWarning(showArgs);
|
|
122
|
+
}
|
|
123
|
+
if (!lodash_1.default.isEmpty(args.defaultCapabilities)) {
|
|
124
|
+
logDefaultCapabilitiesWarning(args.defaultCapabilities);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Collects `updateServer` hooks from active driver and plugin classes for HTTP server customization.
|
|
129
|
+
*/
|
|
130
|
+
function getServerUpdaters(driverClasses, pluginClasses) {
|
|
131
|
+
return lodash_1.default.compact(lodash_1.default.map([...driverClasses.keys(), ...pluginClasses.keys()], 'updateServer'));
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Merges `newMethodMap` contributions from all active drivers and plugins into one method map.
|
|
135
|
+
*/
|
|
136
|
+
function getExtraMethodMap(driverClasses, pluginClasses) {
|
|
137
|
+
return [...driverClasses.keys(), ...pluginClasses.keys()].reduce((map, klass) => ({
|
|
138
|
+
...map,
|
|
139
|
+
...(klass.newMethodMap ?? {}),
|
|
140
|
+
}), {});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Builds {@link ServerOpts} and normalized base path for the Appium HTTP server from CLI args and extensions.
|
|
144
|
+
*/
|
|
145
|
+
function buildServerOpts(appiumDriver, parsedArgs, driverClasses, pluginClasses) {
|
|
146
|
+
const routeConfiguringFunction = (0, base_driver_1.routeConfiguringFunction)(appiumDriver);
|
|
147
|
+
const serverOpts = {
|
|
148
|
+
routeConfiguringFunction,
|
|
149
|
+
port: parsedArgs.port,
|
|
150
|
+
hostname: parsedArgs.address,
|
|
151
|
+
allowCors: parsedArgs.allowCors,
|
|
152
|
+
basePath: parsedArgs.basePath,
|
|
153
|
+
serverUpdaters: getServerUpdaters(driverClasses, pluginClasses),
|
|
154
|
+
extraMethodMap: getExtraMethodMap(driverClasses, pluginClasses),
|
|
155
|
+
cliArgs: parsedArgs,
|
|
156
|
+
};
|
|
157
|
+
const normalizedBasePath = (0, base_driver_1.normalizeBasePath)(parsedArgs.basePath);
|
|
158
|
+
for (const timeoutArgName of ['keepAliveTimeout', 'requestTimeout']) {
|
|
159
|
+
if (lodash_1.default.isInteger(parsedArgs[timeoutArgName])) {
|
|
160
|
+
serverOpts[timeoutArgName] = parsedArgs[timeoutArgName] * 1000;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
return { serverOpts, normalizedBasePath };
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Creates the Appium HTTP server and attaches WebSocket handlers for BiDi under the normalized base path.
|
|
167
|
+
*/
|
|
168
|
+
async function createAppiumServer(serverOpts, appiumDriver, normalizedBasePath) {
|
|
169
|
+
const bidiServer = new ws_1.WebSocketServer({ noServer: true });
|
|
170
|
+
bidiServer.on('connection', appiumDriver.onBidiConnection.bind(appiumDriver));
|
|
171
|
+
bidiServer.on('error', appiumDriver.onBidiServerError.bind(appiumDriver));
|
|
172
|
+
const server = await (0, base_driver_1.server)(serverOpts);
|
|
173
|
+
const bidiBasePath = `${normalizedBasePath}${constants_1.BIDI_BASE_PATH}`;
|
|
174
|
+
await server.addWebSocketHandler(bidiBasePath, bidiServer);
|
|
175
|
+
await server.addWebSocketHandler(`${bidiBasePath}/:sessionId`, bidiServer);
|
|
176
|
+
return server;
|
|
177
|
+
}
|
|
178
|
+
function logNonDefaultArgsWarning(args) {
|
|
179
|
+
logger_1.log.info('Non-default server args:');
|
|
180
|
+
(0, exports.inspect)(args);
|
|
181
|
+
}
|
|
182
|
+
function logDefaultCapabilitiesWarning(caps) {
|
|
183
|
+
logger_1.log.info('Default capabilities, which will be added to each request ' +
|
|
184
|
+
'unless overridden by desired capabilities:');
|
|
185
|
+
(0, exports.inspect)(caps);
|
|
186
|
+
}
|
|
187
|
+
//# sourceMappingURL=main-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main-helpers.js","sourceRoot":"","sources":["../../../lib/bootstrap/main-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
interface DebugInfoInput {
|
|
2
|
+
driverConfig: {
|
|
3
|
+
installedExtensions: unknown;
|
|
4
|
+
};
|
|
5
|
+
pluginConfig: {
|
|
6
|
+
installedExtensions: unknown;
|
|
7
|
+
};
|
|
8
|
+
appiumHome: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @throws {Error} If Node version is outside of the supported range
|
|
12
|
+
*/
|
|
13
|
+
export declare function checkNodeOk(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Adjusts NODE_PATH so CJS drivers/plugins can load peer deps. Does not work with ESM.
|
|
16
|
+
*/
|
|
17
|
+
export declare function adjustNodePath(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Prints JSON debug info (OS, Node/npm, Appium build, installed drivers/plugins) to stdout.
|
|
20
|
+
* Input combines extension config snapshots with the resolved Appium home path.
|
|
21
|
+
*/
|
|
22
|
+
export declare function showDebugInfo({ driverConfig, pluginConfig, appiumHome }: DebugInfoInput): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Ensures a directory exists and (optionally) is writeable.
|
|
25
|
+
*
|
|
26
|
+
* If the directory does not exist, this attempts to create it recursively.
|
|
27
|
+
*
|
|
28
|
+
* @throws {Error}
|
|
29
|
+
*/
|
|
30
|
+
export declare function requireDir(root: string, requireWriteable?: boolean, displayName?: string): Promise<void>;
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=node-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-helpers.d.ts","sourceRoot":"","sources":["../../../lib/bootstrap/node-helpers.ts"],"names":[],"mappings":"AAiBA,UAAU,cAAc;IACtB,YAAY,EAAE;QAAC,mBAAmB,EAAE,OAAO,CAAA;KAAC,CAAC;IAC7C,YAAY,EAAE;QAAC,mBAAmB,EAAE,OAAO,CAAA;KAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAKlC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CA0CrC;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,EAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC3G;AAED;;;;;;GAMG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,gBAAgB,UAAO,EACvB,WAAW,SAAgB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAyBf"}
|