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
|
@@ -0,0 +1,128 @@
|
|
|
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.makeNonW3cCapsError = makeNonW3cCapsError;
|
|
7
|
+
exports.parseCapsForInnerDriver = parseCapsForInnerDriver;
|
|
8
|
+
exports.insertAppiumPrefixes = insertAppiumPrefixes;
|
|
9
|
+
exports.removeAppiumPrefixes = removeAppiumPrefixes;
|
|
10
|
+
exports.pullSettings = pullSettings;
|
|
11
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
12
|
+
const logger_1 = require("../logger");
|
|
13
|
+
const base_driver_1 = require("@appium/base-driver");
|
|
14
|
+
const W3C_APPIUM_PREFIX = 'appium';
|
|
15
|
+
const STANDARD_CAPS_LOWERCASE = new Set([...base_driver_1.STANDARD_CAPS].map((cap) => cap.toLowerCase()));
|
|
16
|
+
/**
|
|
17
|
+
* Creates an error when a session receives non-W3C capabilities.
|
|
18
|
+
*/
|
|
19
|
+
function makeNonW3cCapsError() {
|
|
20
|
+
return new base_driver_1.errors.SessionNotCreatedError('Session capabilities format must comply to the W3C standard. Make sure your client is up to date. ' +
|
|
21
|
+
'See https://www.w3.org/TR/webdriver/#new-session for more details.');
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Parses W3C capabilities for the inner driver and applies defaults.
|
|
25
|
+
*
|
|
26
|
+
* @returns Parsed caps or an invalid result with an error.
|
|
27
|
+
*/
|
|
28
|
+
function parseCapsForInnerDriver(w3cCapabilities, constraints = {}, defaultCapabilities = {}) {
|
|
29
|
+
if (!(0, base_driver_1.isW3cCaps)(w3cCapabilities)) {
|
|
30
|
+
return { error: makeNonW3cCapsError() };
|
|
31
|
+
}
|
|
32
|
+
let desiredCaps = {};
|
|
33
|
+
// eslint-disable-next-line prefer-const -- assigned in success path after try
|
|
34
|
+
let processedW3CCapabilities;
|
|
35
|
+
w3cCapabilities = lodash_1.default.cloneDeep(w3cCapabilities);
|
|
36
|
+
defaultCapabilities = lodash_1.default.cloneDeep(defaultCapabilities);
|
|
37
|
+
if (!lodash_1.default.isEmpty(defaultCapabilities)) {
|
|
38
|
+
for (const [defaultCapKey, defaultCapValue] of lodash_1.default.toPairs(defaultCapabilities)) {
|
|
39
|
+
let isCapAlreadySet = false;
|
|
40
|
+
for (const firstMatchEntry of w3cCapabilities.firstMatch ?? []) {
|
|
41
|
+
if (lodash_1.default.isPlainObject(firstMatchEntry) &&
|
|
42
|
+
lodash_1.default.has(removeAppiumPrefixes(firstMatchEntry), removeAppiumPrefix(defaultCapKey))) {
|
|
43
|
+
isCapAlreadySet = true;
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
isCapAlreadySet =
|
|
48
|
+
isCapAlreadySet ||
|
|
49
|
+
(lodash_1.default.isPlainObject(w3cCapabilities.alwaysMatch) &&
|
|
50
|
+
lodash_1.default.has(removeAppiumPrefixes(w3cCapabilities.alwaysMatch), removeAppiumPrefix(defaultCapKey)));
|
|
51
|
+
if (isCapAlreadySet) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (lodash_1.default.isEmpty(w3cCapabilities.firstMatch)) {
|
|
55
|
+
w3cCapabilities.firstMatch = [{ [defaultCapKey]: defaultCapValue }];
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
w3cCapabilities.firstMatch[0][defaultCapKey] = defaultCapValue;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
desiredCaps = (0, base_driver_1.processCapabilities)(w3cCapabilities, constraints, true);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
logger_1.log.info(`Could not parse W3C capabilities: ${error.message}`);
|
|
67
|
+
return {
|
|
68
|
+
desiredCaps,
|
|
69
|
+
processedW3CCapabilities,
|
|
70
|
+
error: error,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
processedW3CCapabilities = {
|
|
74
|
+
alwaysMatch: { ...insertAppiumPrefixes(desiredCaps) },
|
|
75
|
+
firstMatch: [{}],
|
|
76
|
+
};
|
|
77
|
+
return {
|
|
78
|
+
desiredCaps,
|
|
79
|
+
processedW3CCapabilities,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Prefixes capability keys with `appium:` where appropriate.
|
|
84
|
+
*/
|
|
85
|
+
function insertAppiumPrefixes(caps) {
|
|
86
|
+
return lodash_1.default.mapKeys(caps, (_, key) => STANDARD_CAPS_LOWERCASE.has(key.toLowerCase()) || key.includes(':')
|
|
87
|
+
? key
|
|
88
|
+
: `${W3C_APPIUM_PREFIX}:${key}`);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Removes `appium:` prefix from capability keys.
|
|
92
|
+
*/
|
|
93
|
+
function removeAppiumPrefixes(caps) {
|
|
94
|
+
return lodash_1.default.mapKeys(caps, (_, key) => removeAppiumPrefix(key));
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Pulls Appium settings from capabilities (mutates caps). Supports
|
|
98
|
+
* `settings[key]: value` and `settings: { key: value }`.
|
|
99
|
+
*
|
|
100
|
+
* @returns Parsed settings object; empty if none found.
|
|
101
|
+
*/
|
|
102
|
+
function pullSettings(caps) {
|
|
103
|
+
if (!lodash_1.default.isPlainObject(caps) || lodash_1.default.isEmpty(caps)) {
|
|
104
|
+
return {};
|
|
105
|
+
}
|
|
106
|
+
const result = {};
|
|
107
|
+
const singleSettings = {};
|
|
108
|
+
for (const [key, value] of lodash_1.default.toPairs(caps)) {
|
|
109
|
+
let match;
|
|
110
|
+
if (/^(s|appium:s)ettings$/.test(key) && lodash_1.default.isPlainObject(value)) {
|
|
111
|
+
Object.assign(result, value);
|
|
112
|
+
delete caps[key];
|
|
113
|
+
}
|
|
114
|
+
else if ((match = /^(s|appium:s)ettings\[(\S+)\]$/.exec(key))) {
|
|
115
|
+
singleSettings[match[2]] = value;
|
|
116
|
+
delete caps[key];
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (!lodash_1.default.isEmpty(singleSettings)) {
|
|
120
|
+
Object.assign(result, singleSettings);
|
|
121
|
+
}
|
|
122
|
+
return result;
|
|
123
|
+
}
|
|
124
|
+
function removeAppiumPrefix(key) {
|
|
125
|
+
const prefix = `${W3C_APPIUM_PREFIX}:`;
|
|
126
|
+
return lodash_1.default.startsWith(key, prefix) ? key.substring(prefix.length) : key;
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=capability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capability.js","sourceRoot":"","sources":["../../../lib/helpers/capability.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import os from 'node:os';
|
|
2
|
+
export declare const V4_BROADCAST_IP = "0.0.0.0";
|
|
3
|
+
export declare const V6_BROADCAST_IP = "::";
|
|
4
|
+
/**
|
|
5
|
+
* Returns network interfaces for the given IP family.
|
|
6
|
+
*
|
|
7
|
+
* @param family - 4 for IPv4, 6 for IPv6, or null for all.
|
|
8
|
+
*/
|
|
9
|
+
export declare function fetchInterfaces(family?: 4 | 6 | null): os.NetworkInterfaceInfo[];
|
|
10
|
+
/**
|
|
11
|
+
* Returns true if the address is a broadcast IP (0.0.0.0 or ::).
|
|
12
|
+
*/
|
|
13
|
+
export declare function isBroadcastIp(address: string): boolean;
|
|
14
|
+
//# sourceMappingURL=network.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../lib/helpers/network.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,GAAE,CAAC,GAAG,CAAC,GAAG,IAAW,GAAG,EAAE,CAAC,oBAAoB,EAAE,CAWtF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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.V6_BROADCAST_IP = exports.V4_BROADCAST_IP = void 0;
|
|
7
|
+
exports.fetchInterfaces = fetchInterfaces;
|
|
8
|
+
exports.isBroadcastIp = isBroadcastIp;
|
|
9
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
11
|
+
exports.V4_BROADCAST_IP = '0.0.0.0';
|
|
12
|
+
exports.V6_BROADCAST_IP = '::';
|
|
13
|
+
/**
|
|
14
|
+
* Returns network interfaces for the given IP family.
|
|
15
|
+
*
|
|
16
|
+
* @param family - 4 for IPv4, 6 for IPv6, or null for all.
|
|
17
|
+
*/
|
|
18
|
+
function fetchInterfaces(family = null) {
|
|
19
|
+
let familyValue = null;
|
|
20
|
+
if (family === 4) {
|
|
21
|
+
familyValue = [4, 'IPv4'];
|
|
22
|
+
}
|
|
23
|
+
else if (family === 6) {
|
|
24
|
+
familyValue = [6, 'IPv6'];
|
|
25
|
+
}
|
|
26
|
+
const ifaces = lodash_1.default.values(node_os_1.default.networkInterfaces()).filter(Boolean);
|
|
27
|
+
return lodash_1.default.flatMap(ifaces).filter((info) => !familyValue || familyValue.includes(info.family));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Returns true if the address is a broadcast IP (0.0.0.0 or ::).
|
|
31
|
+
*/
|
|
32
|
+
function isBroadcastIp(address) {
|
|
33
|
+
return [exports.V4_BROADCAST_IP, exports.V6_BROADCAST_IP, `[${exports.V6_BROADCAST_IP}]`].includes(address);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../lib/helpers/network.ts"],"names":[],"mappings":";;;;;;AAWA,0CAWC;AAKD,sCAEC;AA7BD,oDAAuB;AACvB,sDAAyB;AAEZ,QAAA,eAAe,GAAG,SAAS,CAAC;AAC5B,QAAA,eAAe,GAAG,IAAI,CAAC;AAEpC;;;;GAIG;AACH,SAAgB,eAAe,CAAC,SAAuB,IAAI;IACzD,IAAI,WAAW,GAA8B,IAAI,CAAC;IAClD,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,WAAW,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;SAAM,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,WAAW,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,MAAM,GAAG,gBAAC,CAAC,MAAM,CAAC,iBAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAgC,CAAC;IAC/F,OAAO,gBAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAwB,CAAC,CAC9E,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,CAAC,uBAAe,EAAE,uBAAe,EAAE,IAAI,uBAAe,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACtF,CAAC"}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.configureGlobalFeatures = configureGlobalFeatures;
|
|
7
7
|
exports.configureDriverFeatures = configureDriverFeatures;
|
|
8
8
|
const lodash_1 = __importDefault(require("lodash"));
|
|
9
|
-
const logger_1 =
|
|
9
|
+
const logger_1 = require("./logger");
|
|
10
10
|
const ALL_DRIVERS_MATCH = '*';
|
|
11
11
|
const FEATURE_NAME_SEPARATOR = ':';
|
|
12
12
|
/**
|
|
@@ -17,7 +17,7 @@ const FEATURE_NAME_SEPARATOR = ':';
|
|
|
17
17
|
*/
|
|
18
18
|
function configureGlobalFeatures() {
|
|
19
19
|
if (this.args.relaxedSecurityEnabled) {
|
|
20
|
-
logger_1.
|
|
20
|
+
logger_1.log.info(`Enabling relaxed security. All insecure features will be ` +
|
|
21
21
|
`enabled unless explicitly disabled by --deny-insecure`);
|
|
22
22
|
this.relaxedSecurityEnabled = true;
|
|
23
23
|
}
|
|
@@ -25,8 +25,8 @@ function configureGlobalFeatures() {
|
|
|
25
25
|
this.allowInsecure = validateFeatures(this.args.allowInsecure);
|
|
26
26
|
const globalAllowedFeatures = filterInsecureFeatures(this.allowInsecure);
|
|
27
27
|
if (!lodash_1.default.isEmpty(globalAllowedFeatures)) {
|
|
28
|
-
logger_1.
|
|
29
|
-
globalAllowedFeatures.forEach((a) => logger_1.
|
|
28
|
+
logger_1.log.info('Explicitly enabling insecure features:');
|
|
29
|
+
globalAllowedFeatures.forEach((a) => logger_1.log.info(` ${a}`));
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
if (lodash_1.default.isEmpty(this.args.denyInsecure)) {
|
|
@@ -37,8 +37,8 @@ function configureGlobalFeatures() {
|
|
|
37
37
|
if (lodash_1.default.isEmpty(globalDeniedFeatures)) {
|
|
38
38
|
return;
|
|
39
39
|
}
|
|
40
|
-
logger_1.
|
|
41
|
-
globalDeniedFeatures.forEach((a) => logger_1.
|
|
40
|
+
logger_1.log.info('Explicitly disabling insecure features:');
|
|
41
|
+
globalDeniedFeatures.forEach((a) => logger_1.log.info(` ${a}`));
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* If anything in the umbrella driver's insecure feature configuration applies to this driver,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insecure-features.js","sourceRoot":"","sources":["../../lib/insecure-features.ts"],"names":[],"mappings":";;;;;AAeA,0DAyBC;AASD,0DA6BC;AA9ED,oDAAuB;AACvB,
|
|
1
|
+
{"version":3,"file":"insecure-features.js","sourceRoot":"","sources":["../../lib/insecure-features.ts"],"names":[],"mappings":";;;;;AAeA,0DAyBC;AASD,0DA6BC;AA9ED,oDAAuB;AACvB,qCAAuC;AAKvC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC;;;;;GAKG;AACH,SAAgB,uBAAuB;IACrC,IAAI,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACrC,YAAM,CAAC,IAAI,CACT,2DAA2D;YACzD,uDAAuD,CAC1D,CAAC;QACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACrC,CAAC;SAAM,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACtC,YAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACtD,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IACD,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvE,IAAI,gBAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IACD,YAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACvD,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CAErC,MAAsB,EACtB,UAAkB;IAElB,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,8EAA8E;YAC5E,qFAAqF,CACxF,CAAC;QACF,MAAM,CAAC,sBAAsB,GAAG,IAAI,CAAC;IACvC,CAAC;IACD,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACrF,IAAI,CAAC,gBAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yDAAyD;YACrE,kCAAkC,CACnC,CAAC;QACF,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAChE,MAAM,CAAC,aAAa,GAAG,qBAAqB,CAAC;IAC/C,CAAC;IACD,MAAM,oBAAoB,GAAG,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACnF,IAAI,gBAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0DAA0D;QACtE,kCAAkC,CACnC,CAAC;IACF,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,CAAC,YAAY,GAAG,oBAAoB,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,QAAkB;IAC1C,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,iFAAiF;YAC9F,IAAI,iBAAiB,gEAAgE;YACrF,2CAA2C,QAAQ,WAAW,CAAC;QAEjE,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC9D,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG;YACpC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC;YACnC,QAAQ,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC;SACrC,CAAC;QACF,IAAI,CAAC,cAAc,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAC7B,QAAkB,EAClB,aAAqB,iBAAiB;IAEtC,MAAM,QAAQ,GAAG,CAAC,QAAgB,EAAE,EAAE;QACpC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC9D,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAC3D,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC,CAAC;IACF,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import type { ListCommandsResponse, ListExtensionsResponse } from '@appium/types';
|
|
2
2
|
import type { AppiumDriver } from './appium';
|
|
3
|
+
/**
|
|
4
|
+
* Returns available REST and BiDi commands for base, driver and plugins.
|
|
5
|
+
*/
|
|
3
6
|
export declare function listCommands(this: AppiumDriver, sessionId?: string): Promise<ListCommandsResponse>;
|
|
7
|
+
/**
|
|
8
|
+
* Returns available execute methods exposed by driver and plugins.
|
|
9
|
+
*/
|
|
4
10
|
export declare function listExtensions(this: AppiumDriver, sessionId?: string): Promise<ListExtensionsResponse>;
|
|
5
11
|
//# sourceMappingURL=inspector-commands.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspector-commands.d.ts","sourceRoot":"","sources":["../../lib/inspector-commands.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,oBAAoB,EAKpB,sBAAsB,EASvB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"inspector-commands.d.ts","sourceRoot":"","sources":["../../lib/inspector-commands.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,oBAAoB,EAKpB,sBAAsB,EASvB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,UAAU,CAAC;AAE3C;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAsBxG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAgB5G"}
|
|
@@ -7,6 +7,9 @@ exports.listCommands = listCommands;
|
|
|
7
7
|
exports.listExtensions = listExtensions;
|
|
8
8
|
const lodash_1 = __importDefault(require("lodash"));
|
|
9
9
|
const base_driver_1 = require("@appium/base-driver");
|
|
10
|
+
/**
|
|
11
|
+
* Returns available REST and BiDi commands for base, driver and plugins.
|
|
12
|
+
*/
|
|
10
13
|
async function listCommands(sessionId) {
|
|
11
14
|
let driverRestMethodMap = {};
|
|
12
15
|
let driverBiDiCommands = {};
|
|
@@ -30,6 +33,9 @@ async function listCommands(sessionId) {
|
|
|
30
33
|
bidi: toBiDiCommandsMap(base_driver_1.BIDI_COMMANDS, driverBiDiCommands, pluginBiDiCommands),
|
|
31
34
|
};
|
|
32
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Returns available execute methods exposed by driver and plugins.
|
|
38
|
+
*/
|
|
33
39
|
async function listExtensions(sessionId) {
|
|
34
40
|
let driverExecuteMethodMap = {};
|
|
35
41
|
let pluginExecuteMethodMaps = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspector-commands.js","sourceRoot":"","sources":["../../lib/inspector-commands.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"inspector-commands.js","sourceRoot":"","sources":["../../lib/inspector-commands.ts"],"names":[],"mappings":"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"}
|
package/build/lib/logger.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export const APPIUM_LOGGER_NAME
|
|
2
|
-
export
|
|
3
|
-
declare let log: import("@appium/types").AppiumLogger;
|
|
1
|
+
export declare const APPIUM_LOGGER_NAME = "Appium";
|
|
2
|
+
export declare const log: import("@appium/types").AppiumLogger;
|
|
4
3
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,eAAO,MAAM,GAAG,sCAAuC,CAAC"}
|
package/build/lib/logger.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.APPIUM_LOGGER_NAME = void 0;
|
|
3
|
+
exports.log = exports.APPIUM_LOGGER_NAME = void 0;
|
|
4
4
|
const support_1 = require("@appium/support");
|
|
5
5
|
exports.APPIUM_LOGGER_NAME = 'Appium';
|
|
6
|
-
|
|
7
|
-
exports.default = log;
|
|
6
|
+
exports.log = support_1.logger.getLogger(exports.APPIUM_LOGGER_NAME);
|
|
8
7
|
//# sourceMappingURL=logger.js.map
|
package/build/lib/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../lib/logger.ts"],"names":[],"mappings":";;;AAAA,6CAAuC;AAE1B,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAE9B,QAAA,GAAG,GAAG,gBAAM,CAAC,SAAS,CAAC,0BAAkB,CAAC,CAAC"}
|
package/build/lib/main.d.ts
CHANGED
|
@@ -1,67 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export type CliCommand = import("appium/types").CliCommand;
|
|
8
|
-
export type CliExtensionSubcommand = import("appium/types").CliExtensionSubcommand;
|
|
9
|
-
export type CliExtensionCommand = import("appium/types").CliExtensionCommand;
|
|
10
|
-
export type ServerCommand = import("appium/types").CliCommandServer;
|
|
11
|
-
export type DriverCommand = import("appium/types").CliCommandDriver;
|
|
12
|
-
export type PluginCommand = import("appium/types").CliCommandPlugin;
|
|
13
|
-
export type SetupCommand = import("appium/types").CliCommandSetup;
|
|
14
|
-
export type DriverNameMap = import("./extension").DriverNameMap;
|
|
15
|
-
export type PluginNameMap = import("./extension").PluginNameMap;
|
|
16
|
-
/**
|
|
17
|
-
* Literally an empty object
|
|
18
|
-
*/
|
|
19
|
-
export type ExtCommandInitResult = {};
|
|
20
|
-
export type ServerInitData = {
|
|
21
|
-
/**
|
|
22
|
-
* - The Appium driver
|
|
23
|
-
*/
|
|
24
|
-
appiumDriver: import("./appium").AppiumDriver;
|
|
25
|
-
/**
|
|
26
|
-
* - The parsed arguments
|
|
27
|
-
*/
|
|
28
|
-
parsedArgs: import("appium/types").ParsedArgs;
|
|
29
|
-
/**
|
|
30
|
-
* - The full path to the Appium home folder
|
|
31
|
-
*/
|
|
32
|
-
appiumHome: string;
|
|
33
|
-
};
|
|
34
|
-
export type InitResult<Cmd extends CliCommand> = Cmd extends ServerCommand ? ServerInitData & import("./extension").ExtensionConfigs : ExtCommandInitResult;
|
|
35
|
-
export type Args<Cmd extends CliCommand = "server", SubCmd extends CliExtensionSubcommand | void = void> = import("appium/types").Args<Cmd, SubCmd>;
|
|
36
|
-
export type ParsedArgs<Cmd extends CliCommand = "server", SubCmd extends CliExtensionSubcommand | void = void> = import("appium/types").ParsedArgs<Cmd, SubCmd>;
|
|
37
|
-
/**
|
|
38
|
-
* Initializes Appium's config. Starts server if appropriate and resolves the
|
|
39
|
-
* server instance if so; otherwise resolves w/ `undefined`.
|
|
40
|
-
* @template {CliCommand} [Cmd=ServerCommand]
|
|
41
|
-
* @template {CliExtensionSubcommand|void} [SubCmd=void]
|
|
42
|
-
* @param {Args<Cmd, SubCmd>} [args] - Arguments from CLI or otherwise
|
|
43
|
-
* @returns {Promise<Cmd extends ServerCommand ? import('@appium/types').AppiumServer : void>}
|
|
44
|
-
*/
|
|
45
|
-
export function main<Cmd extends CliCommand = "server", SubCmd extends CliExtensionSubcommand | void = void>(args?: Args<Cmd, SubCmd>): Promise<Cmd extends ServerCommand ? import("@appium/types").AppiumServer : void>;
|
|
2
|
+
import './logsink';
|
|
3
|
+
import './logger';
|
|
4
|
+
import type { AppiumServer } from '@appium/types';
|
|
5
|
+
import type { Args, CliCommand, CliCommandServer, CliCommandSetupSubcommand, CliExtensionSubcommand } from 'appium/types';
|
|
6
|
+
import type { ExtCommandInitResult, InitResult, ServerInitData } from './bootstrap/init-types';
|
|
46
7
|
/**
|
|
47
8
|
* Initializes Appium, but does not start the server.
|
|
48
9
|
*
|
|
49
10
|
* Use this to get at the configuration schema.
|
|
50
11
|
*
|
|
51
12
|
* If `args` contains a non-empty `subcommand` which is not `server`, this function will return an empty object.
|
|
52
|
-
*
|
|
53
|
-
* @template {CliCommand} [Cmd=ServerCommand]
|
|
54
|
-
* @template {CliExtensionSubcommand|void} [SubCmd=void]
|
|
55
|
-
* @param {Args<Cmd, SubCmd>} [args] - Partial args (programmatic usage only)
|
|
56
|
-
* @returns {Promise<InitResult<Cmd>>}
|
|
57
|
-
* @example
|
|
58
|
-
* import {init, getSchema} from 'appium';
|
|
59
|
-
* const options = {}; // config object
|
|
60
|
-
* await init(options);
|
|
61
|
-
* const schema = getSchema(); // entire config schema including plugins and drivers
|
|
62
13
|
*/
|
|
63
|
-
export function init<Cmd extends CliCommand =
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
14
|
+
export declare function init<Cmd extends CliCommand = CliCommandServer, SubCmd extends CliExtensionSubcommand | CliCommandSetupSubcommand | void = void>(args?: Args<Cmd, SubCmd>): Promise<InitResult<Cmd>>;
|
|
15
|
+
/**
|
|
16
|
+
* Initializes Appium's config. Starts server if appropriate and resolves the
|
|
17
|
+
* server instance if so; otherwise resolves with `undefined`.
|
|
18
|
+
*/
|
|
19
|
+
export declare function main<Cmd extends CliCommand = CliCommandServer, SubCmd extends CliExtensionSubcommand | CliCommandSetupSubcommand | void = void>(args?: Args<Cmd, SubCmd>): Promise<Cmd extends CliCommandServer ? AppiumServer : void>;
|
|
20
|
+
export { readConfigFile } from './bootstrap/config-file';
|
|
21
|
+
export { finalizeSchema, getSchema, validate } from './schema/schema';
|
|
22
|
+
export declare const resolveAppiumHome: ((cwd?: string) => Promise<string>) & import("lodash").MemoizedFunction;
|
|
23
|
+
export type { ExtCommandInitResult, InitResult, ServerInitData };
|
|
67
24
|
//# sourceMappingURL=main.d.ts.map
|
package/build/lib/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../lib/main.
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../lib/main.ts"],"names":[],"mappings":";AAEA,OAAO,WAAW,CAAC;AACnB,OAAO,UAAU,CAAC;AAElB,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EACV,IAAI,EACJ,UAAU,EACV,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAC,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAK7F;;;;;;GAMG;AACH,wBAAsB,IAAI,CACxB,GAAG,SAAS,UAAU,GAAG,gBAAgB,EACzC,MAAM,SAAS,sBAAsB,GAAG,yBAAyB,GAAG,IAAI,GAAG,IAAI,EAC/E,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAEpD;AAED;;;GAGG;AACH,wBAAsB,IAAI,CACxB,GAAG,SAAS,UAAU,GAAG,gBAAgB,EACzC,MAAM,SAAS,sBAAsB,GAAG,yBAAyB,GAAG,IAAI,GAAG,IAAI,EAC/E,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,SAAS,gBAAgB,GAAG,YAAY,GAAG,IAAI,CAAC,CAGvF;AAWD,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAC,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACpE,eAAO,MAAM,iBAAiB,yEAAwB,CAAC;AAEvD,YAAY,EAAC,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAC,CAAC"}
|