appium 2.0.0-beta.3 → 2.0.0-beta.34
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/README.md +10 -11
- package/build/lib/appium.d.ts +215 -0
- package/build/lib/appium.d.ts.map +1 -0
- package/build/lib/appium.js +241 -132
- package/build/lib/cli/args.d.ts +20 -0
- package/build/lib/cli/args.d.ts.map +1 -0
- package/build/lib/cli/args.js +96 -282
- package/build/lib/cli/driver-command.d.ts +36 -0
- package/build/lib/cli/driver-command.d.ts.map +1 -0
- package/build/lib/cli/driver-command.js +19 -12
- package/build/lib/cli/extension-command.d.ts +345 -0
- package/build/lib/cli/extension-command.d.ts.map +1 -0
- package/build/lib/cli/extension-command.js +171 -96
- package/build/lib/cli/extension.d.ts +14 -0
- package/build/lib/cli/extension.d.ts.map +1 -0
- package/build/lib/cli/extension.js +31 -16
- package/build/lib/cli/parser.d.ts +80 -0
- package/build/lib/cli/parser.d.ts.map +1 -0
- package/build/lib/cli/parser.js +152 -95
- package/build/lib/cli/plugin-command.d.ts +39 -0
- package/build/lib/cli/plugin-command.d.ts.map +1 -0
- package/build/lib/cli/plugin-command.js +18 -13
- package/build/lib/cli/utils.d.ts +29 -0
- package/build/lib/cli/utils.d.ts.map +1 -0
- package/build/lib/cli/utils.js +27 -3
- package/build/lib/config-file.d.ts +100 -0
- package/build/lib/config-file.d.ts.map +1 -0
- package/build/lib/config-file.js +136 -0
- package/build/lib/config.d.ts +41 -0
- package/build/lib/config.d.ts.map +1 -0
- package/build/lib/config.js +92 -67
- package/build/lib/constants.d.ts +48 -0
- package/build/lib/constants.d.ts.map +1 -0
- package/build/lib/constants.js +60 -0
- package/build/lib/extension/driver-config.d.ts +84 -0
- package/build/lib/extension/driver-config.d.ts.map +1 -0
- package/build/lib/extension/driver-config.js +190 -0
- package/build/lib/extension/extension-config.d.ts +170 -0
- package/build/lib/extension/extension-config.d.ts.map +1 -0
- package/build/lib/extension/extension-config.js +297 -0
- package/build/lib/extension/index.d.ts +39 -0
- package/build/lib/extension/index.d.ts.map +1 -0
- package/build/lib/extension/index.js +77 -0
- package/build/lib/extension/manifest.d.ts +174 -0
- package/build/lib/extension/manifest.d.ts.map +1 -0
- package/build/lib/extension/manifest.js +246 -0
- package/build/lib/extension/package-changed.d.ts +11 -0
- package/build/lib/extension/package-changed.d.ts.map +1 -0
- package/build/lib/extension/package-changed.js +68 -0
- package/build/lib/extension/plugin-config.d.ts +62 -0
- package/build/lib/extension/plugin-config.d.ts.map +1 -0
- package/build/lib/extension/plugin-config.js +87 -0
- package/build/lib/grid-register.d.ts +10 -0
- package/build/lib/grid-register.d.ts.map +1 -0
- package/build/lib/grid-register.js +21 -25
- package/build/lib/logger.d.ts +3 -0
- package/build/lib/logger.d.ts.map +1 -0
- package/build/lib/logger.js +4 -6
- package/build/lib/logsink.d.ts +4 -0
- package/build/lib/logsink.d.ts.map +1 -0
- package/build/lib/logsink.js +12 -16
- package/build/lib/main.d.ts +54 -0
- package/build/lib/main.d.ts.map +1 -0
- package/build/lib/main.js +189 -90
- package/build/lib/schema/arg-spec.d.ts +143 -0
- package/build/lib/schema/arg-spec.d.ts.map +1 -0
- package/build/lib/schema/arg-spec.js +119 -0
- package/build/lib/schema/cli-args.d.ts +19 -0
- package/build/lib/schema/cli-args.d.ts.map +1 -0
- package/build/lib/schema/cli-args.js +180 -0
- package/build/lib/schema/cli-transformers.d.ts +5 -0
- package/build/lib/schema/cli-transformers.d.ts.map +1 -0
- package/build/lib/schema/cli-transformers.js +74 -0
- package/build/lib/schema/index.d.ts +3 -0
- package/build/lib/schema/index.d.ts.map +1 -0
- package/build/lib/schema/index.js +34 -0
- package/build/lib/schema/keywords.d.ts +24 -0
- package/build/lib/schema/keywords.d.ts.map +1 -0
- package/build/lib/schema/keywords.js +70 -0
- package/build/lib/schema/schema.d.ts +259 -0
- package/build/lib/schema/schema.d.ts.map +1 -0
- package/build/lib/schema/schema.js +452 -0
- package/build/lib/utils.d.ts +66 -0
- package/build/lib/utils.d.ts.map +1 -0
- package/build/lib/utils.js +35 -139
- package/build/tsconfig.tsbuildinfo +1 -0
- package/build/types/appium-manifest.d.ts +40 -0
- package/build/types/appium-manifest.d.ts.map +1 -0
- package/build/types/cli.d.ts +112 -0
- package/build/types/cli.d.ts.map +1 -0
- package/build/types/extension.d.ts +43 -0
- package/build/types/extension.d.ts.map +1 -0
- package/build/types/external-manifest.d.ts +47 -0
- package/build/types/external-manifest.d.ts.map +1 -0
- package/build/types/index.d.ts +15 -0
- package/build/types/index.d.ts.map +1 -0
- package/index.js +11 -0
- package/lib/appium-config.schema.json +278 -0
- package/lib/appium.js +402 -155
- package/lib/cli/args.js +174 -377
- package/lib/cli/driver-command.js +22 -7
- package/lib/cli/extension-command.js +372 -177
- package/lib/cli/extension.js +32 -10
- package/lib/cli/parser.js +253 -83
- package/lib/cli/plugin-command.js +19 -6
- package/lib/cli/utils.js +22 -2
- package/lib/config-file.js +223 -0
- package/lib/config.js +170 -69
- package/lib/constants.js +78 -0
- package/lib/extension/driver-config.js +249 -0
- package/lib/extension/extension-config.js +458 -0
- package/lib/extension/index.js +102 -0
- package/lib/extension/manifest.js +484 -0
- package/lib/extension/package-changed.js +63 -0
- package/lib/extension/plugin-config.js +113 -0
- package/lib/grid-register.js +25 -22
- package/lib/logger.js +1 -1
- package/lib/logsink.js +14 -7
- package/lib/main.js +255 -90
- package/lib/schema/arg-spec.js +232 -0
- package/lib/schema/cli-args.js +261 -0
- package/lib/schema/cli-transformers.js +122 -0
- package/lib/schema/index.js +2 -0
- package/lib/schema/keywords.js +134 -0
- package/lib/schema/schema.js +734 -0
- package/lib/utils.js +85 -129
- package/package.json +68 -85
- package/scripts/postinstall.js +71 -0
- package/types/appium-manifest.ts +61 -0
- package/types/cli.ts +153 -0
- package/types/extension.ts +56 -0
- package/types/external-manifest.ts +58 -0
- package/types/index.ts +14 -0
- package/CHANGELOG.md +0 -3515
- package/bin/ios-webkit-debug-proxy-launcher.js +0 -71
- package/build/lib/cli/npm.js +0 -206
- package/build/lib/cli/parser-helpers.js +0 -82
- package/build/lib/driver-config.js +0 -77
- package/build/lib/drivers.js +0 -96
- package/build/lib/extension-config.js +0 -251
- package/build/lib/plugin-config.js +0 -59
- package/build/lib/plugins.js +0 -14
- package/lib/cli/npm.js +0 -183
- package/lib/cli/parser-helpers.js +0 -79
- package/lib/driver-config.js +0 -46
- package/lib/drivers.js +0 -81
- package/lib/extension-config.js +0 -208
- package/lib/plugin-config.js +0 -34
- package/lib/plugins.js +0 -10
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type ExtCommand<ExtType extends import("../../types").ExtensionType> = ExtType extends import('../../types').DriverType ? import('@appium/types').Class<DriverCommand> : ExtType extends import('../../types').PluginType ? import('@appium/types').Class<PluginCommand> : never;
|
|
2
|
+
/**
|
|
3
|
+
* Run a subcommand of the 'appium driver' type. Each subcommand has its own set of arguments which
|
|
4
|
+
* can be represented as a JS object.
|
|
5
|
+
*
|
|
6
|
+
* @param {Object} args - JS object where the key is the parameter name (as defined in
|
|
7
|
+
* driver-parser.js)
|
|
8
|
+
* @template {import('../extension/manifest').ExtensionType} ExtType
|
|
9
|
+
* @param {import('../extension/extension-config').ExtensionConfig<ExtType>} configObject - Extension config object
|
|
10
|
+
*/
|
|
11
|
+
export function runExtensionCommand<ExtType extends import("../../types").ExtensionType>(args: any, configObject: import("../extension/extension-config").ExtensionConfig<ExtType>): Promise<any>;
|
|
12
|
+
import DriverCommand from "./driver-command";
|
|
13
|
+
import PluginCommand from "./plugin-command";
|
|
14
|
+
//# sourceMappingURL=extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../../lib/cli/extension.js"],"names":[],"mappings":"8EA+Da,OAAO,SAAS,OAAO,aAAa,EAAE,UAAU,GAAG,OAAO,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,OAAO,SAAS,OAAO,aAAa,EAAE,UAAU,GAAG,OAAO,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK;AAnDtN;;;;;;;;GAQG;AACH,kMAkCC"}
|
|
@@ -13,44 +13,59 @@ var _driverCommand = _interopRequireDefault(require("./driver-command"));
|
|
|
13
13
|
|
|
14
14
|
var _pluginCommand = _interopRequireDefault(require("./plugin-command"));
|
|
15
15
|
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var _pluginConfig = _interopRequireDefault(require("../plugin-config"));
|
|
19
|
-
|
|
20
|
-
var _extensionConfig = require("../extension-config");
|
|
16
|
+
var _constants = require("../constants");
|
|
21
17
|
|
|
22
18
|
var _utils = require("./utils");
|
|
23
19
|
|
|
24
|
-
|
|
20
|
+
const commandClasses = Object.freeze({
|
|
21
|
+
[_constants.DRIVER_TYPE]: _driverCommand.default,
|
|
22
|
+
[_constants.PLUGIN_TYPE]: _pluginCommand.default
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
async function runExtensionCommand(args, configObject) {
|
|
25
26
|
let jsonResult = null;
|
|
26
27
|
const {
|
|
28
|
+
extensionType: type
|
|
29
|
+
} = configObject;
|
|
30
|
+
const extCmd = args[`${type}Command`];
|
|
31
|
+
|
|
32
|
+
if (!extCmd) {
|
|
33
|
+
throw new TypeError(`Cannot call ${type} command without a subcommand like 'install'`);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
let {
|
|
27
37
|
json,
|
|
28
|
-
|
|
38
|
+
suppressOutput
|
|
29
39
|
} = args;
|
|
30
40
|
|
|
41
|
+
if (suppressOutput) {
|
|
42
|
+
json = true;
|
|
43
|
+
}
|
|
44
|
+
|
|
31
45
|
const logFn = msg => (0, _utils.log)(json, msg);
|
|
32
46
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const
|
|
47
|
+
let config = configObject;
|
|
48
|
+
config.log = logFn;
|
|
49
|
+
const CommandClass = commandClasses[type];
|
|
36
50
|
const cmd = new CommandClass({
|
|
37
51
|
config,
|
|
38
52
|
json
|
|
39
53
|
});
|
|
40
54
|
|
|
41
55
|
try {
|
|
42
|
-
await config.read();
|
|
43
56
|
jsonResult = await cmd.execute(args);
|
|
44
57
|
} catch (err) {
|
|
58
|
+
if (suppressOutput) {
|
|
59
|
+
throw err;
|
|
60
|
+
}
|
|
61
|
+
|
|
45
62
|
(0, _utils.errAndQuit)(json, err);
|
|
46
63
|
}
|
|
47
64
|
|
|
48
|
-
if (json) {
|
|
65
|
+
if (json && !suppressOutput) {
|
|
49
66
|
console.log(JSON.stringify(jsonResult, null, _utils.JSON_SPACES));
|
|
50
67
|
}
|
|
51
68
|
|
|
52
69
|
return jsonResult;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9jbGkvZXh0ZW5zaW9uLmpzIl0sIm5hbWVzIjpbInJ1bkV4dGVuc2lvbkNvbW1hbmQiLCJhcmdzIiwidHlwZSIsImpzb25SZXN1bHQiLCJqc29uIiwiYXBwaXVtSG9tZSIsImxvZ0ZuIiwibXNnIiwiQ29uZmlnQ2xhc3MiLCJEUklWRVJfVFlQRSIsIkRyaXZlckNvbmZpZyIsIlBsdWdpbkNvbmZpZyIsIkNvbW1hbmRDbGFzcyIsIkRyaXZlckNvbW1hbmQiLCJQbHVnaW5Db21tYW5kIiwiY29uZmlnIiwiY21kIiwicmVhZCIsImV4ZWN1dGUiLCJlcnIiLCJjb25zb2xlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsIkpTT05fU1BBQ0VTIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQVNBLGVBQWVBLG1CQUFmLENBQW9DQyxJQUFwQyxFQUEwQ0MsSUFBMUMsRUFBZ0Q7QUFHOUMsTUFBSUMsVUFBVSxHQUFHLElBQWpCO0FBQ0EsUUFBTTtBQUFDQyxJQUFBQSxJQUFEO0FBQU9DLElBQUFBO0FBQVAsTUFBcUJKLElBQTNCOztBQUNBLFFBQU1LLEtBQUssR0FBSUMsR0FBRCxJQUFTLGdCQUFJSCxJQUFKLEVBQVVHLEdBQVYsQ0FBdkI7O0FBQ0EsUUFBTUMsV0FBVyxHQUFHTixJQUFJLEtBQUtPLDRCQUFULEdBQXVCQyxxQkFBdkIsR0FBc0NDLHFCQUExRDtBQUNBLFFBQU1DLFlBQVksR0FBR1YsSUFBSSxLQUFLTyw0QkFBVCxHQUF1Qkksc0JBQXZCLEdBQXVDQyxzQkFBNUQ7QUFDQSxRQUFNQyxNQUFNLEdBQUcsSUFBSVAsV0FBSixDQUFnQkgsVUFBaEIsRUFBNEJDLEtBQTVCLENBQWY7QUFDQSxRQUFNVSxHQUFHLEdBQUcsSUFBSUosWUFBSixDQUFpQjtBQUFDRyxJQUFBQSxNQUFEO0FBQVNYLElBQUFBO0FBQVQsR0FBakIsQ0FBWjs7QUFDQSxNQUFJO0FBQ0YsVUFBTVcsTUFBTSxDQUFDRSxJQUFQLEVBQU47QUFDQWQsSUFBQUEsVUFBVSxHQUFHLE1BQU1hLEdBQUcsQ0FBQ0UsT0FBSixDQUFZakIsSUFBWixDQUFuQjtBQUNELEdBSEQsQ0FHRSxPQUFPa0IsR0FBUCxFQUFZO0FBQ1osMkJBQVdmLElBQVgsRUFBaUJlLEdBQWpCO0FBQ0Q7O0FBRUQsTUFBSWYsSUFBSixFQUFVO0FBQ1JnQixJQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWUMsSUFBSSxDQUFDQyxTQUFMLENBQWVwQixVQUFmLEVBQTJCLElBQTNCLEVBQWlDcUIsa0JBQWpDLENBQVo7QUFDRDs7QUFFRCxTQUFPckIsVUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuXG5pbXBvcnQgRHJpdmVyQ29tbWFuZCBmcm9tICcuL2RyaXZlci1jb21tYW5kJztcbmltcG9ydCBQbHVnaW5Db21tYW5kIGZyb20gJy4vcGx1Z2luLWNvbW1hbmQnO1xuaW1wb3J0IERyaXZlckNvbmZpZyBmcm9tICcuLi9kcml2ZXItY29uZmlnJztcbmltcG9ydCBQbHVnaW5Db25maWcgZnJvbSAnLi4vcGx1Z2luLWNvbmZpZyc7XG5pbXBvcnQgeyBEUklWRVJfVFlQRSB9IGZyb20gJy4uL2V4dGVuc2lvbi1jb25maWcnO1xuaW1wb3J0IHsgZXJyQW5kUXVpdCwgbG9nLCBKU09OX1NQQUNFUyB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKipcbiAqIFJ1biBhIHN1YmNvbW1hbmQgb2YgdGhlICdhcHBpdW0gZHJpdmVyJyB0eXBlLiBFYWNoIHN1YmNvbW1hbmQgaGFzIGl0cyBvd24gc2V0IG9mIGFyZ3VtZW50cyB3aGljaFxuICogY2FuIGJlIHJlcHJlc2VudGVkIGFzIGEgSlMgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBhcmdzIC0gSlMgb2JqZWN0IHdoZXJlIHRoZSBrZXkgaXMgdGhlIHBhcmFtZXRlciBuYW1lIChhcyBkZWZpbmVkIGluXG4gKiBkcml2ZXItcGFyc2VyLmpzKVxuICovXG5hc3luYyBmdW5jdGlvbiBydW5FeHRlbnNpb25Db21tYW5kIChhcmdzLCB0eXBlKSB7XG4gIC8vIFRPRE8gZHJpdmVyIGNvbmZpZyBmaWxlIHNob3VsZCBiZSBsb2NrZWQgd2hpbGUgYW55IG9mIHRoZXNlIGNvbW1hbmRzIGFyZVxuICAvLyBydW5uaW5nIHRvIHByZXZlbnQgd2VpcmQgc2l0dWF0aW9uc1xuICBsZXQganNvblJlc3VsdCA9IG51bGw7XG4gIGNvbnN0IHtqc29uLCBhcHBpdW1Ib21lfSA9IGFyZ3M7XG4gIGNvbnN0IGxvZ0ZuID0gKG1zZykgPT4gbG9nKGpzb24sIG1zZyk7XG4gIGNvbnN0IENvbmZpZ0NsYXNzID0gdHlwZSA9PT0gRFJJVkVSX1RZUEUgPyBEcml2ZXJDb25maWcgOiBQbHVnaW5Db25maWc7XG4gIGNvbnN0IENvbW1hbmRDbGFzcyA9IHR5cGUgPT09IERSSVZFUl9UWVBFID8gRHJpdmVyQ29tbWFuZCA6IFBsdWdpbkNvbW1hbmQ7XG4gIGNvbnN0IGNvbmZpZyA9IG5ldyBDb25maWdDbGFzcyhhcHBpdW1Ib21lLCBsb2dGbik7XG4gIGNvbnN0IGNtZCA9IG5ldyBDb21tYW5kQ2xhc3Moe2NvbmZpZywganNvbn0pO1xuICB0cnkge1xuICAgIGF3YWl0IGNvbmZpZy5yZWFkKCk7XG4gICAganNvblJlc3VsdCA9IGF3YWl0IGNtZC5leGVjdXRlKGFyZ3MpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBlcnJBbmRRdWl0KGpzb24sIGVycik7XG4gIH1cblxuICBpZiAoanNvbikge1xuICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGpzb25SZXN1bHQsIG51bGwsIEpTT05fU1BBQ0VTKSk7XG4gIH1cblxuICByZXR1cm4ganNvblJlc3VsdDtcbn1cblxuZXhwb3J0IHtcbiAgcnVuRXh0ZW5zaW9uQ29tbWFuZCxcbn07XG4iXSwiZmlsZSI6ImxpYi9jbGkvZXh0ZW5zaW9uLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb21tYW5kQ2xhc3NlcyIsIk9iamVjdCIsImZyZWV6ZSIsIkRSSVZFUl9UWVBFIiwiRHJpdmVyQ29tbWFuZCIsIlBMVUdJTl9UWVBFIiwiUGx1Z2luQ29tbWFuZCIsInJ1bkV4dGVuc2lvbkNvbW1hbmQiLCJhcmdzIiwiY29uZmlnT2JqZWN0IiwianNvblJlc3VsdCIsImV4dGVuc2lvblR5cGUiLCJ0eXBlIiwiZXh0Q21kIiwiVHlwZUVycm9yIiwianNvbiIsInN1cHByZXNzT3V0cHV0IiwibG9nRm4iLCJtc2ciLCJjb25maWciLCJsb2ciLCJDb21tYW5kQ2xhc3MiLCJjbWQiLCJleGVjdXRlIiwiZXJyIiwiY29uc29sZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJKU09OX1NQQUNFUyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9jbGkvZXh0ZW5zaW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cblxuaW1wb3J0IERyaXZlckNvbW1hbmQgZnJvbSAnLi9kcml2ZXItY29tbWFuZCc7XG5pbXBvcnQgUGx1Z2luQ29tbWFuZCBmcm9tICcuL3BsdWdpbi1jb21tYW5kJztcbmltcG9ydCB7IERSSVZFUl9UWVBFLCBQTFVHSU5fVFlQRSB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBlcnJBbmRRdWl0LCBsb2csIEpTT05fU1BBQ0VTIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IGNvbW1hbmRDbGFzc2VzID0gT2JqZWN0LmZyZWV6ZSgvKiogQHR5cGUge2NvbnN0fSAqLyh7XG4gIFtEUklWRVJfVFlQRV06IERyaXZlckNvbW1hbmQsXG4gIFtQTFVHSU5fVFlQRV06IFBsdWdpbkNvbW1hbmRcbn0pKTtcblxuLyoqXG4gKiBSdW4gYSBzdWJjb21tYW5kIG9mIHRoZSAnYXBwaXVtIGRyaXZlcicgdHlwZS4gRWFjaCBzdWJjb21tYW5kIGhhcyBpdHMgb3duIHNldCBvZiBhcmd1bWVudHMgd2hpY2hcbiAqIGNhbiBiZSByZXByZXNlbnRlZCBhcyBhIEpTIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gYXJncyAtIEpTIG9iamVjdCB3aGVyZSB0aGUga2V5IGlzIHRoZSBwYXJhbWV0ZXIgbmFtZSAoYXMgZGVmaW5lZCBpblxuICogZHJpdmVyLXBhcnNlci5qcylcbiAqIEB0ZW1wbGF0ZSB7aW1wb3J0KCcuLi9leHRlbnNpb24vbWFuaWZlc3QnKS5FeHRlbnNpb25UeXBlfSBFeHRUeXBlXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi4vZXh0ZW5zaW9uL2V4dGVuc2lvbi1jb25maWcnKS5FeHRlbnNpb25Db25maWc8RXh0VHlwZT59IGNvbmZpZ09iamVjdCAtIEV4dGVuc2lvbiBjb25maWcgb2JqZWN0XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIHJ1bkV4dGVuc2lvbkNvbW1hbmQgKGFyZ3MsIGNvbmZpZ09iamVjdCkge1xuICAvLyBUT0RPIGRyaXZlciBjb25maWcgZmlsZSBzaG91bGQgYmUgbG9ja2VkIHdoaWxlIGFueSBvZiB0aGVzZSBjb21tYW5kcyBhcmVcbiAgLy8gcnVubmluZyB0byBwcmV2ZW50IHdlaXJkIHNpdHVhdGlvbnNcbiAgbGV0IGpzb25SZXN1bHQgPSBudWxsO1xuICBjb25zdCB7ZXh0ZW5zaW9uVHlwZTogdHlwZX0gPSBjb25maWdPYmplY3Q7XG4gIGNvbnN0IGV4dENtZCA9IGFyZ3NbYCR7dHlwZX1Db21tYW5kYF07XG4gIGlmICghZXh0Q21kKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgQ2Fubm90IGNhbGwgJHt0eXBlfSBjb21tYW5kIHdpdGhvdXQgYSBzdWJjb21tYW5kIGxpa2UgJ2luc3RhbGwnYCk7XG4gIH1cbiAgbGV0IHtqc29uLCBzdXBwcmVzc091dHB1dH0gPSBhcmdzO1xuICBpZiAoc3VwcHJlc3NPdXRwdXQpIHtcbiAgICBqc29uID0gdHJ1ZTtcbiAgfVxuICBjb25zdCBsb2dGbiA9IChtc2cpID0+IGxvZyhqc29uLCBtc2cpO1xuICBsZXQgY29uZmlnID0gY29uZmlnT2JqZWN0O1xuICBjb25maWcubG9nID0gbG9nRm47XG4gIGNvbnN0IENvbW1hbmRDbGFzcyA9IC8qKiBAdHlwZSB7RXh0Q29tbWFuZDxFeHRUeXBlPn0gKi8oY29tbWFuZENsYXNzZXNbdHlwZV0pO1xuICBjb25zdCBjbWQgPSBuZXcgQ29tbWFuZENsYXNzKHtjb25maWcsIGpzb259KTtcbiAgdHJ5IHtcbiAgICBqc29uUmVzdWx0ID0gYXdhaXQgY21kLmV4ZWN1dGUoYXJncyk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIGluIHRoZSBzdXBwcmVzcyBvdXRwdXQgY2FzZSwgd2UgYXJlIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiBpbnRlcm5hbGx5IGFuZCBzaG91bGRcbiAgICAvLyBqdXN0IHRocm93IGluc3RlYWQgb2YgcHJpbnRpbmcgYW4gZXJyb3IgYW5kIGVuZGluZyB0aGUgcHJvY2Vzc1xuICAgIGlmIChzdXBwcmVzc091dHB1dCkge1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbiAgICBlcnJBbmRRdWl0KGpzb24sIGVycik7XG4gIH1cblxuICBpZiAoanNvbiAmJiAhc3VwcHJlc3NPdXRwdXQpIHtcbiAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShqc29uUmVzdWx0LCBudWxsLCBKU09OX1NQQUNFUykpO1xuICB9XG5cbiAgcmV0dXJuIGpzb25SZXN1bHQ7XG59XG5cbmV4cG9ydCB7XG4gIHJ1bkV4dGVuc2lvbkNvbW1hbmQsXG59O1xuXG4vKipcbiAqIEB0ZW1wbGF0ZSB7aW1wb3J0KCcuLi8uLi90eXBlcycpLkV4dGVuc2lvblR5cGV9IEV4dFR5cGVcbiAqIEB0eXBlZGVmIHtFeHRUeXBlIGV4dGVuZHMgaW1wb3J0KCcuLi8uLi90eXBlcycpLkRyaXZlclR5cGUgPyBpbXBvcnQoJ0BhcHBpdW0vdHlwZXMnKS5DbGFzczxEcml2ZXJDb21tYW5kPiA6IEV4dFR5cGUgZXh0ZW5kcyBpbXBvcnQoJy4uLy4uL3R5cGVzJykuUGx1Z2luVHlwZSA/IGltcG9ydCgnQGFwcGl1bS90eXBlcycpLkNsYXNzPFBsdWdpbkNvbW1hbmQ+IDogbmV2ZXJ9IEV4dENvbW1hbmRcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLGNBQWMsR0FBR0MsTUFBTSxDQUFDQyxNQUFQLENBQW1DO0VBQ3hELENBQUNDLHNCQUFELEdBQWVDLHNCQUR5QztFQUV4RCxDQUFDQyxzQkFBRCxHQUFlQztBQUZ5QyxDQUFuQyxDQUF2Qjs7QUFjQSxlQUFlQyxtQkFBZixDQUFvQ0MsSUFBcEMsRUFBMENDLFlBQTFDLEVBQXdEO0VBR3RELElBQUlDLFVBQVUsR0FBRyxJQUFqQjtFQUNBLE1BQU07SUFBQ0MsYUFBYSxFQUFFQztFQUFoQixJQUF3QkgsWUFBOUI7RUFDQSxNQUFNSSxNQUFNLEdBQUdMLElBQUksQ0FBRSxHQUFFSSxJQUFLLFNBQVQsQ0FBbkI7O0VBQ0EsSUFBSSxDQUFDQyxNQUFMLEVBQWE7SUFDWCxNQUFNLElBQUlDLFNBQUosQ0FBZSxlQUFjRixJQUFLLDhDQUFsQyxDQUFOO0VBQ0Q7O0VBQ0QsSUFBSTtJQUFDRyxJQUFEO0lBQU9DO0VBQVAsSUFBeUJSLElBQTdCOztFQUNBLElBQUlRLGNBQUosRUFBb0I7SUFDbEJELElBQUksR0FBRyxJQUFQO0VBQ0Q7O0VBQ0QsTUFBTUUsS0FBSyxHQUFJQyxHQUFELElBQVMsZ0JBQUlILElBQUosRUFBVUcsR0FBVixDQUF2Qjs7RUFDQSxJQUFJQyxNQUFNLEdBQUdWLFlBQWI7RUFDQVUsTUFBTSxDQUFDQyxHQUFQLEdBQWFILEtBQWI7RUFDQSxNQUFNSSxZQUFZLEdBQXNDckIsY0FBYyxDQUFDWSxJQUFELENBQXRFO0VBQ0EsTUFBTVUsR0FBRyxHQUFHLElBQUlELFlBQUosQ0FBaUI7SUFBQ0YsTUFBRDtJQUFTSjtFQUFULENBQWpCLENBQVo7O0VBQ0EsSUFBSTtJQUNGTCxVQUFVLEdBQUcsTUFBTVksR0FBRyxDQUFDQyxPQUFKLENBQVlmLElBQVosQ0FBbkI7RUFDRCxDQUZELENBRUUsT0FBT2dCLEdBQVAsRUFBWTtJQUdaLElBQUlSLGNBQUosRUFBb0I7TUFDbEIsTUFBTVEsR0FBTjtJQUNEOztJQUNELHVCQUFXVCxJQUFYLEVBQWlCUyxHQUFqQjtFQUNEOztFQUVELElBQUlULElBQUksSUFBSSxDQUFDQyxjQUFiLEVBQTZCO0lBQzNCUyxPQUFPLENBQUNMLEdBQVIsQ0FBWU0sSUFBSSxDQUFDQyxTQUFMLENBQWVqQixVQUFmLEVBQTJCLElBQTNCLEVBQWlDa0Isa0JBQWpDLENBQVo7RUFDRDs7RUFFRCxPQUFPbEIsVUFBUDtBQUNEIn0=
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a {@link ArgParser} instance; finalizes the config schema.
|
|
3
|
+
*
|
|
4
|
+
* @constructs ArgParser
|
|
5
|
+
* @param {boolean} [debug] - If `true`, throw instead of exit upon parsing error
|
|
6
|
+
* @returns {ArgParser}
|
|
7
|
+
*/
|
|
8
|
+
export function getParser(debug?: boolean | undefined): ArgParser;
|
|
9
|
+
/**
|
|
10
|
+
* A wrapper around `argparse`
|
|
11
|
+
*
|
|
12
|
+
* - Handles instantiation, configuration, and monkeypatching of an
|
|
13
|
+
* `ArgumentParser` instance for Appium server and its extensions
|
|
14
|
+
* - Handles error conditions, messages, and exit behavior
|
|
15
|
+
*/
|
|
16
|
+
export class ArgParser {
|
|
17
|
+
/**
|
|
18
|
+
* Given an object full of arguments as returned by `argparser.parse_args`,
|
|
19
|
+
* expand the ones for extensions into a nested object structure and rename
|
|
20
|
+
* keys to match the intended destination.
|
|
21
|
+
*
|
|
22
|
+
* E.g., `{'driver-foo-bar': baz}` becomes `{driver: {foo: {bar: 'baz'}}}`
|
|
23
|
+
* @param {object} args
|
|
24
|
+
* @returns {object}
|
|
25
|
+
*/
|
|
26
|
+
static _transformParsedArgs(args: object): object;
|
|
27
|
+
/**
|
|
28
|
+
* Patches the `exit()` method of the parser to throw an error, so we can handle it manually.
|
|
29
|
+
* @param {ArgumentParser} parser
|
|
30
|
+
*/
|
|
31
|
+
static _patchExit(parser: ArgumentParser): void;
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* @param {import('argparse').SubParser} subParser
|
|
35
|
+
* @returns {import('./args').ArgumentDefinitions}
|
|
36
|
+
*/
|
|
37
|
+
static _addServerToParser(subParser: import('argparse').SubParser): import('./args').ArgumentDefinitions;
|
|
38
|
+
/**
|
|
39
|
+
* Adds extension sub-sub-commands to `driver`/`plugin` subcommands
|
|
40
|
+
* @param {import('argparse').SubParser} subParsers
|
|
41
|
+
*/
|
|
42
|
+
static _addExtensionCommandsToParser(subParsers: import('argparse').SubParser): void;
|
|
43
|
+
/**
|
|
44
|
+
* @param {boolean} [debug] - If true, throw instead of exit on error.
|
|
45
|
+
*/
|
|
46
|
+
constructor(debug?: boolean | undefined);
|
|
47
|
+
/**
|
|
48
|
+
* Program name (typically `appium`)
|
|
49
|
+
* @type {string}
|
|
50
|
+
*/
|
|
51
|
+
prog: string;
|
|
52
|
+
/**
|
|
53
|
+
* If `true`, throw an error on parse failure instead of printing help
|
|
54
|
+
* @type {boolean}
|
|
55
|
+
*/
|
|
56
|
+
debug: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Wrapped `ArgumentParser` instance
|
|
59
|
+
* @type {ArgumentParser}
|
|
60
|
+
*/
|
|
61
|
+
parser: ArgumentParser;
|
|
62
|
+
rawArgs: import("./args").ArgumentDefinitions;
|
|
63
|
+
/**
|
|
64
|
+
* @type {ArgParser['parseArgs']}
|
|
65
|
+
*/
|
|
66
|
+
parse_args: ArgParser['parseArgs'];
|
|
67
|
+
/**
|
|
68
|
+
* Parse arguments from the command line.
|
|
69
|
+
*
|
|
70
|
+
* If no subcommand is passed in, this method will inject the `server` subcommand.
|
|
71
|
+
*
|
|
72
|
+
* `ArgParser.prototype.parse_args` is an alias of this method.
|
|
73
|
+
* @template [T=import('../../types').WithServerSubcommand]
|
|
74
|
+
* @param {string[]} [args] - Array of arguments, ostensibly from `process.argv`. Gathers args from `process.argv` if not provided.
|
|
75
|
+
* @returns {import('../../types').Args<T>} - The parsed arguments
|
|
76
|
+
*/
|
|
77
|
+
parseArgs<T = import("../../types").WithServerSubcommand>(args?: string[] | undefined): import("../../types").Args<T>;
|
|
78
|
+
}
|
|
79
|
+
import { ArgumentParser } from "argparse";
|
|
80
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../lib/cli/parser.js"],"names":[],"mappings":"AA8PA;;;;;;GAMG;AACH,wDAFa,SAAS,CAMrB;AA1OD;;;;;;GAMG;AACH;IA4FE;;;;;;;;OAQG;IACH,kCAHW,MAAM,GACJ,MAAM,CAiBlB;IAED;;;OAGG;IACH,0BAFW,cAAc,QASxB;IAED;;;;OAIG;IACH,qCAHW,OAAO,UAAU,EAAE,SAAS,GAC1B,OAAO,QAAQ,EAAE,mBAAmB,CAkBhD;IAED;;;OAGG;IACH,iDAFW,OAAO,UAAU,EAAE,SAAS,QAyDtC;IApND;;OAEG;IACH,yCAmDC;IAxCC;;;OAGG;IACH,MAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,OAFU,OAAO,CAEC;IAElB;;;OAGG;IACH,QAFU,cAAc,CAEJ;IAcpB,8CAAyB;IAMzB;;OAEG;IACH,YAFU,SAAS,CAAC,WAAW,CAAC,CAEA;IAGlC;;;;;;;;;OASG;IACH,sHAuBC;CA4HF"}
|
package/build/lib/cli/parser.js
CHANGED
|
@@ -5,130 +5,187 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
exports.ArgParser = void 0;
|
|
8
9
|
exports.getParser = getParser;
|
|
9
|
-
exports.getDefaultServerArgs = getDefaultServerArgs;
|
|
10
|
-
exports.default = void 0;
|
|
11
10
|
|
|
12
11
|
require("source-map-support/register");
|
|
13
12
|
|
|
14
|
-
var
|
|
13
|
+
var _support = require("@appium/support");
|
|
14
|
+
|
|
15
|
+
var _argparse = require("argparse");
|
|
15
16
|
|
|
16
17
|
var _lodash = _interopRequireDefault(require("lodash"));
|
|
17
18
|
|
|
18
|
-
var
|
|
19
|
+
var _path = _interopRequireDefault(require("path"));
|
|
19
20
|
|
|
20
|
-
var
|
|
21
|
+
var _constants = require("../constants");
|
|
21
22
|
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
var _utils = require("../utils");
|
|
25
|
-
|
|
26
|
-
function getParser(debug = false) {
|
|
27
|
-
const parser = new _argparse.ArgumentParser({
|
|
28
|
-
version: require(_path.default.resolve(_utils.rootDir, 'package.json')).version,
|
|
29
|
-
addHelp: true,
|
|
30
|
-
description: 'A webdriver-compatible server for use with native and hybrid iOS and Android applications.',
|
|
31
|
-
prog: process.argv[1] ? _path.default.basename(process.argv[1]) : 'appium',
|
|
32
|
-
debug
|
|
33
|
-
});
|
|
34
|
-
const subParsers = parser.addSubparsers({
|
|
35
|
-
dest: 'subcommand',
|
|
36
|
-
debug
|
|
37
|
-
});
|
|
38
|
-
const serverArgs = addServerToParser(_args.sharedArgs, subParsers, debug);
|
|
39
|
-
parser.rawArgs = serverArgs;
|
|
40
|
-
addExtensionsToParser(_args.sharedArgs, subParsers, debug);
|
|
41
|
-
parser._parseArgs = parser.parseArgs;
|
|
42
|
-
|
|
43
|
-
parser.parseArgs = function (args, namespace) {
|
|
44
|
-
if (_lodash.default.isUndefined(args)) {
|
|
45
|
-
args = [...process.argv.slice(2)];
|
|
46
|
-
}
|
|
23
|
+
var _schema = require("../schema");
|
|
47
24
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
25
|
+
var _config = require("../config");
|
|
26
|
+
|
|
27
|
+
var _args = require("./args");
|
|
51
28
|
|
|
52
|
-
|
|
53
|
-
}.bind(parser);
|
|
29
|
+
const NON_SERVER_ARGS = Object.freeze(new Set([_constants.DRIVER_TYPE, _constants.PLUGIN_TYPE, _constants.SERVER_SUBCOMMAND, '-h', '--help', '-v', '--version']));
|
|
54
30
|
|
|
55
|
-
|
|
56
|
-
|
|
31
|
+
const version = _support.fs.readPackageJsonFrom(_config.rootDir).version;
|
|
32
|
+
|
|
33
|
+
class ArgParser {
|
|
34
|
+
constructor(debug = false) {
|
|
35
|
+
const prog = process.argv[1] ? _path.default.basename(process.argv[1]) : 'appium';
|
|
36
|
+
const parser = new _argparse.ArgumentParser({
|
|
37
|
+
add_help: true,
|
|
38
|
+
description: 'A webdriver-compatible server that facilitates automation of web, mobile, and other types of apps across various platforms.',
|
|
39
|
+
prog
|
|
40
|
+
});
|
|
57
41
|
|
|
58
|
-
|
|
59
|
-
const serverParser = subParsers.addParser('server', {
|
|
60
|
-
addHelp: true,
|
|
61
|
-
help: 'Run an Appium server',
|
|
62
|
-
debug
|
|
63
|
-
});
|
|
42
|
+
ArgParser._patchExit(parser);
|
|
64
43
|
|
|
65
|
-
|
|
66
|
-
|
|
44
|
+
this.prog = prog;
|
|
45
|
+
this.debug = debug;
|
|
46
|
+
this.parser = parser;
|
|
47
|
+
parser.add_argument('-v', '--version', {
|
|
48
|
+
action: 'version',
|
|
49
|
+
version
|
|
50
|
+
});
|
|
51
|
+
const subParsers = parser.add_subparsers({
|
|
52
|
+
dest: 'subcommand'
|
|
67
53
|
});
|
|
54
|
+
|
|
55
|
+
const serverArgs = ArgParser._addServerToParser(subParsers);
|
|
56
|
+
|
|
57
|
+
this.rawArgs = serverArgs;
|
|
58
|
+
|
|
59
|
+
ArgParser._addExtensionCommandsToParser(subParsers);
|
|
60
|
+
|
|
61
|
+
this.parse_args = this.parseArgs;
|
|
68
62
|
}
|
|
69
63
|
|
|
70
|
-
|
|
71
|
-
|
|
64
|
+
parseArgs(args = process.argv.slice(2)) {
|
|
65
|
+
if (!NON_SERVER_ARGS.has(args[0])) {
|
|
66
|
+
args.unshift(_constants.SERVER_SUBCOMMAND);
|
|
67
|
+
}
|
|
72
68
|
|
|
73
|
-
|
|
74
|
-
|
|
69
|
+
try {
|
|
70
|
+
const parsed = this.parser.parse_args(args);
|
|
71
|
+
return ArgParser._transformParsedArgs(parsed);
|
|
72
|
+
} catch (err) {
|
|
73
|
+
if (this.debug) {
|
|
74
|
+
throw err;
|
|
75
|
+
}
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
{
|
|
78
|
+
console.error();
|
|
79
|
+
console.error(err.message);
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
78
83
|
}
|
|
79
84
|
|
|
80
|
-
|
|
81
|
-
|
|
85
|
+
static _transformParsedArgs(args) {
|
|
86
|
+
return _lodash.default.reduce(args, (unpacked, value, key) => {
|
|
87
|
+
if (!_lodash.default.isUndefined(value) && (0, _schema.hasArgSpec)(key)) {
|
|
88
|
+
const {
|
|
89
|
+
dest
|
|
90
|
+
} = (0, _schema.getArgSpec)(key);
|
|
82
91
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
});
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
92
|
+
_lodash.default.set(unpacked, dest, value);
|
|
93
|
+
} else {
|
|
94
|
+
unpacked[key] = value;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return unpacked;
|
|
98
|
+
}, {});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
static _patchExit(parser) {
|
|
102
|
+
parser.exit = (code, msg) => {
|
|
103
|
+
if (code) {
|
|
104
|
+
throw new Error(msg);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
process.exit();
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
static _addServerToParser(subParser) {
|
|
112
|
+
const serverParser = subParser.add_parser('server', {
|
|
113
|
+
add_help: true,
|
|
114
|
+
help: 'Run an Appium server'
|
|
93
115
|
});
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
help: `Install a ${type}`
|
|
102
|
-
}, {
|
|
103
|
-
command: 'uninstall',
|
|
104
|
-
args: _args.extensionArgs[type].uninstall,
|
|
105
|
-
help: `Uninstall a ${type}`
|
|
106
|
-
}, {
|
|
107
|
-
command: 'update',
|
|
108
|
-
args: _args.extensionArgs[type].update,
|
|
109
|
-
help: `Update installed ${type}s to the latest version`
|
|
110
|
-
}];
|
|
111
|
-
|
|
112
|
-
for (const {
|
|
113
|
-
command,
|
|
114
|
-
args,
|
|
115
|
-
help
|
|
116
|
-
} of parserSpecs) {
|
|
117
|
-
const parser = extSubParsers.addParser(command, {
|
|
118
|
-
help,
|
|
119
|
-
debug
|
|
116
|
+
|
|
117
|
+
ArgParser._patchExit(serverParser);
|
|
118
|
+
|
|
119
|
+
const serverArgs = (0, _args.getServerArgs)();
|
|
120
|
+
|
|
121
|
+
for (const [flagsOrNames, opts] of serverArgs) {
|
|
122
|
+
serverParser.add_argument(...flagsOrNames, { ...opts
|
|
120
123
|
});
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
return serverArgs;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
static _addExtensionCommandsToParser(subParsers) {
|
|
130
|
+
for (const type of [_constants.DRIVER_TYPE, _constants.PLUGIN_TYPE]) {
|
|
131
|
+
const extParser = subParsers.add_parser(type, {
|
|
132
|
+
add_help: true,
|
|
133
|
+
help: `Access the ${type} management CLI commands`
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
ArgParser._patchExit(extParser);
|
|
121
137
|
|
|
122
|
-
|
|
123
|
-
|
|
138
|
+
const extSubParsers = extParser.add_subparsers({
|
|
139
|
+
dest: `${type}Command`
|
|
140
|
+
});
|
|
141
|
+
const extensionArgs = (0, _args.getExtensionArgs)();
|
|
142
|
+
const parserSpecs = [{
|
|
143
|
+
command: 'list',
|
|
144
|
+
args: extensionArgs[type].list,
|
|
145
|
+
help: `List available and installed ${type}s`
|
|
146
|
+
}, {
|
|
147
|
+
command: 'install',
|
|
148
|
+
args: extensionArgs[type].install,
|
|
149
|
+
help: `Install a ${type}`
|
|
150
|
+
}, {
|
|
151
|
+
command: 'uninstall',
|
|
152
|
+
args: extensionArgs[type].uninstall,
|
|
153
|
+
help: `Uninstall a ${type}`
|
|
154
|
+
}, {
|
|
155
|
+
command: 'update',
|
|
156
|
+
args: extensionArgs[type].update,
|
|
157
|
+
help: `Update installed ${type}s to the latest version`
|
|
158
|
+
}, {
|
|
159
|
+
command: 'run',
|
|
160
|
+
args: extensionArgs[type].run,
|
|
161
|
+
help: `Run a script (defined inside the ${type}'s package.json under the ` + `“scripts” field inside the “appium” field) from an installed ${type}`
|
|
162
|
+
}];
|
|
163
|
+
|
|
164
|
+
for (const {
|
|
165
|
+
command,
|
|
166
|
+
args,
|
|
167
|
+
help
|
|
168
|
+
} of parserSpecs) {
|
|
169
|
+
const parser = extSubParsers.add_parser(command, {
|
|
170
|
+
help
|
|
124
171
|
});
|
|
172
|
+
|
|
173
|
+
ArgParser._patchExit(parser);
|
|
174
|
+
|
|
175
|
+
for (const [flagsOrNames, opts] of args) {
|
|
176
|
+
parser.add_argument(...flagsOrNames, { ...opts
|
|
177
|
+
});
|
|
178
|
+
}
|
|
125
179
|
}
|
|
126
180
|
}
|
|
127
181
|
}
|
|
128
|
-
}
|
|
129
182
|
|
|
130
|
-
|
|
131
|
-
exports.default = _default;require('source-map-support').install();
|
|
183
|
+
}
|
|
132
184
|
|
|
185
|
+
exports.ArgParser = ArgParser;
|
|
133
186
|
|
|
134
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9jbGkvcGFyc2VyLmpzIl0sIm5hbWVzIjpbImdldFBhcnNlciIsImRlYnVnIiwicGFyc2VyIiwiQXJndW1lbnRQYXJzZXIiLCJ2ZXJzaW9uIiwicmVxdWlyZSIsInBhdGgiLCJyZXNvbHZlIiwicm9vdERpciIsImFkZEhlbHAiLCJkZXNjcmlwdGlvbiIsInByb2ciLCJwcm9jZXNzIiwiYXJndiIsImJhc2VuYW1lIiwic3ViUGFyc2VycyIsImFkZFN1YnBhcnNlcnMiLCJkZXN0Iiwic2VydmVyQXJncyIsImFkZFNlcnZlclRvUGFyc2VyIiwic2hhcmVkQXJncyIsInJhd0FyZ3MiLCJhZGRFeHRlbnNpb25zVG9QYXJzZXIiLCJfcGFyc2VBcmdzIiwicGFyc2VBcmdzIiwiYXJncyIsIm5hbWVzcGFjZSIsIl8iLCJpc1VuZGVmaW5lZCIsInNsaWNlIiwiaW5jbHVkZXMiLCJEUklWRVJfVFlQRSIsIlBMVUdJTl9UWVBFIiwic3BsaWNlIiwiYmluZCIsInNlcnZlclBhcnNlciIsImFkZFBhcnNlciIsImhlbHAiLCJmbGFncyIsIm9wdHMiLCJhZGRBcmd1bWVudCIsImdldERlZmF1bHRTZXJ2ZXJBcmdzIiwiZGVmYXVsdHMiLCJhcmciLCJkZWZhdWx0VmFsdWUiLCJ0eXBlIiwiZXh0UGFyc2VyIiwiZXh0U3ViUGFyc2VycyIsInBhcnNlclNwZWNzIiwiY29tbWFuZCIsImV4dGVuc2lvbkFyZ3MiLCJsaXN0IiwiaW5zdGFsbCIsInVuaW5zdGFsbCIsInVwZGF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLFNBQVNBLFNBQVQsQ0FBb0JDLEtBQUssR0FBRyxLQUE1QixFQUFtQztBQUNqQyxRQUFNQyxNQUFNLEdBQUcsSUFBSUMsd0JBQUosQ0FBbUI7QUFDaENDLElBQUFBLE9BQU8sRUFBRUMsT0FBTyxDQUFDQyxjQUFLQyxPQUFMLENBQWFDLGNBQWIsRUFBc0IsY0FBdEIsQ0FBRCxD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RDtBQUFVeEIsTUFBQUEsSUFBVjtBQUFnQlksTUFBQUE7QUFBaEIsS0FBWCxJQUFvQ1csV0FBcEMsRUFBaUQ7QUFDL0MsWUFBTTlDLE1BQU0sR0FBRzZDLGFBQWEsQ0FBQ1gsU0FBZCxDQUF3QmEsT0FBeEIsRUFBaUM7QUFBQ1osUUFBQUEsSUFBRDtBQUFPcEMsUUFBQUE7QUFBUCxPQUFqQyxDQUFmOztBQUNBLFdBQUssTUFBTSxDQUFDcUMsS0FBRCxFQUFRQyxJQUFSLENBQVgsSUFBNEIsQ0FBQyxHQUFHbkIsVUFBSixFQUFnQixHQUFHSyxJQUFuQixDQUE1QixFQUFzRDtBQUVwRHZCLFFBQUFBLE1BQU0sQ0FBQ3NDLFdBQVAsQ0FBbUIsQ0FBQyxHQUFHRixLQUFKLENBQW5CLEVBQStCLEVBQUMsR0FBR0M7QUFBSixTQUEvQjtBQUNEO0FBQ0Y7QUFDRjtBQUNGOztlQUVjdkMsUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IEFyZ3VtZW50UGFyc2VyIH0gZnJvbSAnYXJncGFyc2UnO1xuaW1wb3J0IHsgc2hhcmVkQXJncywgc2VydmVyQXJncywgZXh0ZW5zaW9uQXJncyB9IGZyb20gJy4vYXJncyc7XG5pbXBvcnQgeyBEUklWRVJfVFlQRSwgUExVR0lOX1RZUEUgfSBmcm9tICcuLi9leHRlbnNpb24tY29uZmlnJztcbmltcG9ydCB7IHJvb3REaXIgfSBmcm9tICcuLi91dGlscyc7XG5cbmZ1bmN0aW9uIGdldFBhcnNlciAoZGVidWcgPSBmYWxzZSkge1xuICBjb25zdCBwYXJzZXIgPSBuZXcgQXJndW1lbnRQYXJzZXIoe1xuICAgIHZlcnNpb246IHJlcXVpcmUocGF0aC5yZXNvbHZlKHJvb3REaXIsICdwYWNrYWdlLmpzb24nKSkudmVyc2lvbixcbiAgICBhZGRIZWxwOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiAnQSB3ZWJkcml2ZXItY29tcGF0aWJsZSBzZXJ2ZXIgZm9yIHVzZSB3aXRoIG5hdGl2ZSBhbmQgaHlicmlkIGlPUyBhbmQgQW5kcm9pZCBhcHBsaWNhdGlvbnMuJyxcbiAgICBwcm9nOiBwcm9jZXNzLmFyZ3ZbMV0gPyBwYXRoLmJhc2VuYW1lKHByb2Nlc3MuYXJndlsxXSkgOiAnYXBwaXVtJyxcbiAgICBkZWJ1Z1xuICB9KTtcbiAgY29uc3Qgc3ViUGFyc2VycyA9IHBhcnNlci5hZGRTdWJwYXJzZXJzKHtkZXN0OiAnc3ViY29tbWFuZCcsIGRlYnVnfSk7XG5cbiAgLy8gYWRkIHRoZSAnc2VydmVyJyBzdWJjb21tYW5kLCBhbmQgc3RvcmUgdGhlIHJhdyBhcmd1bWVudHMgb24gdGhlIHBhcnNlclxuICAvLyBvYmplY3QgYXMgYSB3YXkgZm9yIG90aGVyIHBhcnRzIG9mIHRoZSBjb2RlIHRvIHdvcmsgd2l0aCB0aGUgYXJndW1lbnRzXG4gIC8vIGNvbmNlcHR1YWxseSByYXRoZXIgdGhhbiBqdXN0IHRocm91Z2ggYXJncGFyc2VcbiAgY29uc3Qgc2VydmVyQXJncyA9IGFkZFNlcnZlclRvUGFyc2VyKHNoYXJlZEFyZ3MsIHN1YlBhcnNlcnMsIGRlYnVnKTtcbiAgcGFyc2VyLnJhd0FyZ3MgPSBzZXJ2ZXJBcmdzO1xuXG4gIC8vIGFkZCB0aGUgJ2RyaXZlcicgYW5kICdwbHVnaW4nIHN1YmNvbW1hbmRzXG4gIGFkZEV4dGVuc2lvbnNUb1BhcnNlcihzaGFyZWRBcmdzLCBzdWJQYXJzZXJzLCBkZWJ1Zyk7XG5cbiAgLy8gbW9kaWZ5IHRoZSBwYXJzZUFyZ3MgZnVuY3Rpb24gdG8gaW5zZXJ0IHRoZSAnc2VydmVyJyBzdWJjb21tYW5kIGlmIHRoZVxuICAvLyB1c2VyIGhhc24ndCBzcGVjaWZpZWQgYSBzdWJjb21tYW5kIG9yIHRoZSBnbG9iYWwgaGVscCBjb21tYW5kXG4gIHBhcnNlci5fcGFyc2VBcmdzID0gcGFyc2VyLnBhcnNlQXJncztcbiAgcGFyc2VyLnBhcnNlQXJncyA9IGZ1bmN0aW9uIChhcmdzLCBuYW1lc3BhY2UpIHtcbiAgICBpZiAoXy5pc1VuZGVmaW5lZChhcmdzKSkge1xuICAgICAgYXJncyA9IFsuLi5wcm9jZXNzLmFyZ3Yuc2xpY2UoMildO1xuICAgIH1cbiAgICBpZiAoIV8uaW5jbHVkZXMoW0RSSVZFUl9UWVBFLCBQTFVHSU5fVFlQRSwgJ3NlcnZlcicsICctaCddLCBhcmdzWzBdKSkge1xuICAgICAgYXJncy5zcGxpY2UoMCwgMCwgJ3NlcnZlcicpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fcGFyc2VBcmdzKGFyZ3MsIG5hbWVzcGFjZSk7XG4gIH0uYmluZChwYXJzZXIpO1xuICByZXR1cm4gcGFyc2VyO1xufVxuXG5mdW5jdGlvbiBhZGRTZXJ2ZXJUb1BhcnNlciAoc2hhcmVkQXJncywgc3ViUGFyc2VycywgZGVidWcpIHtcbiAgY29uc3Qgc2VydmVyUGFyc2VyID0gc3ViUGFyc2Vycy5hZGRQYXJzZXIoJ3NlcnZlcicsIHtcbiAgICBhZGRIZWxwOiB0cnVlLFxuICAgIGhlbHA6ICdSdW4gYW4gQXBwaXVtIHNlcnZlcicsXG4gICAgZGVidWdcbiAgfSk7XG5cbiAgZm9yIChjb25zdCBbZmxhZ3MsIG9wdHNdIG9mIFsuLi5zaGFyZWRBcmdzLCAuLi5zZXJ2ZXJBcmdzXSkge1xuICAgIC8vIGFkZEFyZ3VtZW50IG11dGF0ZXMgYXJndW1lbnRzIHNvIG1ha2UgY29waWVzXG4gICAgc2VydmVyUGFyc2VyLmFkZEFyZ3VtZW50KFsuLi5mbGFnc10sIHsuLi5vcHRzfSk7XG4gIH1cblxuICByZXR1cm4gc2VydmVyQXJncztcbn1cblxuZnVuY3Rpb24gZ2V0RGVmYXVsdFNlcnZlckFyZ3MgKCkge1xuICBsZXQgZGVmYXVsdHMgPSB7fTtcbiAgZm9yIChsZXQgWywgYXJnXSBvZiBzZXJ2ZXJBcmdzKSB7XG4gICAgZGVmYXVsdHNbYXJnLmRlc3RdID0gYXJnLmRlZmF1bHRWYWx1ZTtcbiAgfVxuICByZXR1cm4gZGVmYXVsdHM7XG59XG5cbmZ1bmN0aW9uIGFkZEV4dGVuc2lvbnNUb1BhcnNlciAoc2hhcmVkQXJncywgc3ViUGFyc2VycywgZGVidWcpIHtcbiAgZm9yIChjb25zdCB0eXBlIG9mIFtEUklWRVJfVFlQRSwgUExVR0lOX1RZUEVdKSB7XG4gICAgY29uc3QgZXh0UGFyc2VyID0gc3ViUGFyc2Vycy5hZGRQYXJzZXIodHlwZSwge1xuICAgICAgYWRkSGVscDogdHJ1ZSxcbiAgICAgIGhlbHA6IGBBY2Nlc3MgdGhlICR7dHlwZX0gbWFuYWdlbWVudCBDTEkgY29tbWFuZHNgLFxuICAgICAgZGVidWdcbiAgICB9KTtcbiAgICBjb25zdCBleHRTdWJQYXJzZXJzID0gZXh0UGFyc2VyLmFkZFN1YnBhcnNlcnMoe1xuICAgICAgZGVzdDogYCR7dHlwZX1Db21tYW5kYCxcbiAgICAgIGRlYnVnXG4gICAgfSk7XG4gICAgY29uc3QgcGFyc2VyU3BlY3MgPSBbXG4gICAgICB7Y29tbWFuZDogJ2xpc3QnLCBhcmdzOiBleHRlbnNpb25BcmdzW3R5cGVdLmxpc3QsXG4gICAgICAgaGVscDogYExpc3QgYXZhaWxhYmxlIGFuZCBpbnN0YWxsZWQgJHt0eXBlfXNgfSxcbiAgICAgIHtjb21tYW5kOiAnaW5zdGFsbCcsIGFyZ3M6IGV4dGVuc2lvbkFyZ3NbdHlwZV0uaW5zdGFsbCxcbiAgICAgICBoZWxwOiBgSW5zdGFsbCBhICR7dHlwZX1gfSxcbiAgICAgIHtjb21tYW5kOiAndW5pbnN0YWxsJywgYXJnczogZXh0ZW5zaW9uQXJnc1t0eXBlXS51bmluc3RhbGwsXG4gICAgICAgaGVscDogYFVuaW5zdGFsbCBhICR7dHlwZX1gfSxcbiAgICAgIHtjb21tYW5kOiAndXBkYXRlJywgYXJnczogZXh0ZW5zaW9uQXJnc1t0eXBlXS51cGRhdGUsXG4gICAgICAgaGVscDogYFVwZGF0ZSBpbnN0YWxsZWQgJHt0eXBlfXMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uYH0sXG4gICAgXTtcblxuICAgIGZvciAoY29uc3Qge2NvbW1hbmQsIGFyZ3MsIGhlbHB9IG9mIHBhcnNlclNwZWNzKSB7XG4gICAgICBjb25zdCBwYXJzZXIgPSBleHRTdWJQYXJzZXJzLmFkZFBhcnNlcihjb21tYW5kLCB7aGVscCwgZGVidWd9KTtcbiAgICAgIGZvciAoY29uc3QgW2ZsYWdzLCBvcHRzXSBvZiBbLi4uc2hhcmVkQXJncywgLi4uYXJnc10pIHtcbiAgICAgICAgLy8gYWRkQXJndW1lbnQgbXV0YXRlcyBwYXJhbXMgc28gbWFrZSBzdXJlIHRvIHNlbmQgaW4gY29waWVzIGluc3RlYWRcbiAgICAgICAgcGFyc2VyLmFkZEFyZ3VtZW50KFsuLi5mbGFnc10sIHsuLi5vcHRzfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldFBhcnNlcjtcbmV4cG9ydCB7IGdldFBhcnNlciwgZ2V0RGVmYXVsdFNlcnZlckFyZ3MgfTtcbiJdLCJmaWxlIjoibGliL2NsaS9wYXJzZXIuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
|
|
187
|
+
function getParser(debug) {
|
|
188
|
+
(0, _schema.finalizeSchema)();
|
|
189
|
+
return new ArgParser(debug);
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJOT05fU0VSVkVSX0FSR1MiLCJPYmplY3QiLCJmcmVlemUiLCJTZXQiLCJEUklWRVJfVFlQRSIsIlBMVUdJTl9UWVBFIiwiU0VSVkVSX1NVQkNPTU1BTkQiLCJ2ZXJzaW9uIiwiZnMiLCJyZWFkUGFja2FnZUpzb25Gcm9tIiwicm9vdERpciIsIkFyZ1BhcnNlciIsImNvbnN0cnVjdG9yIiwiZGVidWciLCJwcm9nIiwicHJvY2VzcyIsImFyZ3YiLCJwYXRoIiwiYmFzZW5hbWUiLCJwYXJzZXIiLCJBcmd1bWVudFBhcnNlciIsImFkZF9oZWxwIiwiZGVzY3JpcHRpb24iLCJfcGF0Y2hFeGl0IiwiYWRkX2FyZ3VtZW50IiwiYWN0aW9uIiwic3ViUGFyc2VycyIsImFkZF9zdWJwYXJzZXJzIiwiZGVzdCIsInNlcnZlckFyZ3MiLCJfYWRkU2VydmVyVG9QYXJzZXIiLCJyYXdBcmdzIiwiX2FkZEV4dGVuc2lvbkNvbW1hbmRzVG9QYXJzZXIiLCJwYXJzZV9hcmdzIiwicGFyc2VBcmdzIiwiYXJncyIsInNsaWNlIiwiaGFzIiwidW5zaGlmdCIsInBhcnNlZCIsIl90cmFuc2Zvcm1QYXJzZWRBcmdzIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwibWVzc2FnZSIsImV4aXQiLCJfIiwicmVkdWNlIiwidW5wYWNrZWQiLCJ2YWx1ZSIsImtleSIsImlzVW5kZWZpbmVkIiwic2V0IiwiY29kZSIsIm1zZyIsIkVycm9yIiwic3ViUGFyc2VyIiwic2VydmVyUGFyc2VyIiwiYWRkX3BhcnNlciIsImhlbHAiLCJmbGFnc09yTmFtZXMiLCJvcHRzIiwidHlwZSIsImV4dFBhcnNlciIsImV4dFN1YlBhcnNlcnMiLCJleHRlbnNpb25BcmdzIiwicGFyc2VyU3BlY3MiLCJjb21tYW5kIiwibGlzdCIsImluc3RhbGwiLCJ1bmluc3RhbGwiLCJ1cGRhdGUiLCJydW4iLCJnZXRQYXJzZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY2xpL3BhcnNlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCB7IGZzIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7IEFyZ3VtZW50UGFyc2VyIH0gZnJvbSAnYXJncGFyc2UnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRFJJVkVSX1RZUEUsIFBMVUdJTl9UWVBFLCBTRVJWRVJfU1VCQ09NTUFORCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBmaW5hbGl6ZVNjaGVtYSwgZ2V0QXJnU3BlYywgaGFzQXJnU3BlYyB9IGZyb20gJy4uL3NjaGVtYSc7XG5pbXBvcnQgeyByb290RGlyIH0gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7XG4gIGdldEV4dGVuc2lvbkFyZ3MsXG4gIGdldFNlcnZlckFyZ3Ncbn0gZnJvbSAnLi9hcmdzJztcblxuLyoqXG4gKiBJZiB0aGUgcGFyc2VkIGFyZ3MgZG8gbm90IGNvbnRhaW4gYW55IG9mIHRoZXNlIHZhbHVlcywgdGhlbiB3ZVxuICogd2lsbCBhdXRvbWF0aWFsbHkgaW5qZWN0IHRoZSBgc2VydmVyYCBzdWJjb21tYW5kLlxuICovXG5jb25zdCBOT05fU0VSVkVSX0FSR1MgPSBPYmplY3QuZnJlZXplKFxuICBuZXcgU2V0KFtcbiAgICBEUklWRVJfVFlQRSxcbiAgICBQTFVHSU5fVFlQRSxcbiAgICBTRVJWRVJfU1VCQ09NTUFORCxcbiAgICAnLWgnLFxuICAgICctLWhlbHAnLFxuICAgICctdicsXG4gICAgJy0tdmVyc2lvbidcbiAgXSlcbik7XG5cbmNvbnN0IHZlcnNpb24gPSBmcy5yZWFkUGFja2FnZUpzb25Gcm9tKHJvb3REaXIpLnZlcnNpb247XG5cbi8qKlxuICogQSB3cmFwcGVyIGFyb3VuZCBgYXJncGFyc2VgXG4gKlxuICogLSBIYW5kbGVzIGluc3RhbnRpYXRpb24sIGNvbmZpZ3VyYXRpb24sIGFuZCBtb25rZXlwYXRjaGluZyBvZiBhblxuICogICAgYEFyZ3VtZW50UGFyc2VyYCBpbnN0YW5jZSBmb3IgQXBwaXVtIHNlcnZlciBhbmQgaXRzIGV4dGVuc2lvbnNcbiAqIC0gSGFuZGxlcyBlcnJvciBjb25kaXRpb25zLCBtZXNzYWdlcywgYW5kIGV4aXQgYmVoYXZpb3JcbiAqL1xuY2xhc3MgQXJnUGFyc2VyIHtcbiAgLyoqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2RlYnVnXSAtIElmIHRydWUsIHRocm93IGluc3RlYWQgb2YgZXhpdCBvbiBlcnJvci5cbiAgICovXG4gIGNvbnN0cnVjdG9yIChkZWJ1ZyA9IGZhbHNlKSB7XG4gICAgY29uc3QgcHJvZyA9IHByb2Nlc3MuYXJndlsxXSA/IHBhdGguYmFzZW5hbWUocHJvY2Vzcy5hcmd2WzFdKSA6ICdhcHBpdW0nO1xuICAgIGNvbnN0IHBhcnNlciA9IG5ldyBBcmd1bWVudFBhcnNlcih7XG4gICAgICBhZGRfaGVscDogdHJ1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnQSB3ZWJkcml2ZXItY29tcGF0aWJsZSBzZXJ2ZXIgdGhhdCBmYWNpbGl0YXRlcyBhdXRvbWF0aW9uIG9mIHdlYiwgbW9iaWxlLCBhbmQgb3RoZXIgdHlwZXMgb2YgYXBwcyBhY3Jvc3MgdmFyaW91cyBwbGF0Zm9ybXMuJyxcbiAgICAgIHByb2csXG4gICAgfSk7XG5cbiAgICBBcmdQYXJzZXIuX3BhdGNoRXhpdChwYXJzZXIpO1xuXG4gICAgLyoqXG4gICAgICogUHJvZ3JhbSBuYW1lICh0eXBpY2FsbHkgYGFwcGl1bWApXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICB0aGlzLnByb2cgPSBwcm9nO1xuXG4gICAgLyoqXG4gICAgICogSWYgYHRydWVgLCB0aHJvdyBhbiBlcnJvciBvbiBwYXJzZSBmYWlsdXJlIGluc3RlYWQgb2YgcHJpbnRpbmcgaGVscFxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIHRoaXMuZGVidWcgPSBkZWJ1ZztcblxuICAgIC8qKlxuICAgICAqIFdyYXBwZWQgYEFyZ3VtZW50UGFyc2VyYCBpbnN0YW5jZVxuICAgICAqIEB0eXBlIHtBcmd1bWVudFBhcnNlcn1cbiAgICAgKi9cbiAgICB0aGlzLnBhcnNlciA9IHBhcnNlcjtcblxuICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy12JywgJy0tdmVyc2lvbicsIHtcbiAgICAgIGFjdGlvbjogJ3ZlcnNpb24nLFxuICAgICAgdmVyc2lvbixcbiAgICB9KTtcblxuICAgIGNvbnN0IHN1YlBhcnNlcnMgPSBwYXJzZXIuYWRkX3N1YnBhcnNlcnMoe2Rlc3Q6ICdzdWJjb21tYW5kJ30pO1xuXG4gICAgLy8gYWRkIHRoZSAnc2VydmVyJyBzdWJjb21tYW5kLCBhbmQgc3RvcmUgdGhlIHJhdyBhcmd1bWVudHMgb24gdGhlIHBhcnNlclxuICAgIC8vIG9iamVjdCBhcyBhIHdheSBmb3Igb3RoZXIgcGFydHMgb2YgdGhlIGNvZGUgdG8gd29yayB3aXRoIHRoZSBhcmd1bWVudHNcbiAgICAvLyBjb25jZXB0dWFsbHkgcmF0aGVyIHRoYW4ganVzdCB0aHJvdWdoIGFyZ3BhcnNlXG4gICAgY29uc3Qgc2VydmVyQXJncyA9IEFyZ1BhcnNlci5fYWRkU2VydmVyVG9QYXJzZXIoc3ViUGFyc2Vycyk7XG5cbiAgICB0aGlzLnJhd0FyZ3MgPSBzZXJ2ZXJBcmdzO1xuXG4gICAgLy8gYWRkIHRoZSAnZHJpdmVyJyBhbmQgJ3BsdWdpbicgc3ViY29tbWFuZHNcbiAgICBBcmdQYXJzZXIuX2FkZEV4dGVuc2lvbkNvbW1hbmRzVG9QYXJzZXIoc3ViUGFyc2Vycyk7XG5cbiAgICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSAvIGRyb3AtaW4gd3JhcHBlclxuICAgIC8qKlxuICAgICAqIEB0eXBlIHtBcmdQYXJzZXJbJ3BhcnNlQXJncyddfVxuICAgICAqL1xuICAgIHRoaXMucGFyc2VfYXJncyA9IHRoaXMucGFyc2VBcmdzO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIGFyZ3VtZW50cyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuXG4gICAqXG4gICAqIElmIG5vIHN1YmNvbW1hbmQgaXMgcGFzc2VkIGluLCB0aGlzIG1ldGhvZCB3aWxsIGluamVjdCB0aGUgYHNlcnZlcmAgc3ViY29tbWFuZC5cbiAgICpcbiAgICogYEFyZ1BhcnNlci5wcm90b3R5cGUucGFyc2VfYXJnc2AgaXMgYW4gYWxpYXMgb2YgdGhpcyBtZXRob2QuXG4gICAqIEB0ZW1wbGF0ZSBbVD1pbXBvcnQoJy4uLy4uL3R5cGVzJykuV2l0aFNlcnZlclN1YmNvbW1hbmRdXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IFthcmdzXSAtIEFycmF5IG9mIGFyZ3VtZW50cywgb3N0ZW5zaWJseSBmcm9tIGBwcm9jZXNzLmFyZ3ZgLiBHYXRoZXJzIGFyZ3MgZnJvbSBgcHJvY2Vzcy5hcmd2YCBpZiBub3QgcHJvdmlkZWQuXG4gICAqIEByZXR1cm5zIHtpbXBvcnQoJy4uLy4uL3R5cGVzJykuQXJnczxUPn0gLSBUaGUgcGFyc2VkIGFyZ3VtZW50c1xuICAgKi9cbiAgcGFyc2VBcmdzIChhcmdzID0gcHJvY2Vzcy5hcmd2LnNsaWNlKDIpKSB7XG4gICAgaWYgKCFOT05fU0VSVkVSX0FSR1MuaGFzKGFyZ3NbMF0pKSB7XG4gICAgICBhcmdzLnVuc2hpZnQoU0VSVkVSX1NVQkNPTU1BTkQpO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSB0aGlzLnBhcnNlci5wYXJzZV9hcmdzKGFyZ3MpO1xuICAgICAgcmV0dXJuIEFyZ1BhcnNlci5fdHJhbnNmb3JtUGFyc2VkQXJncyhwYXJzZWQpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgfVxuICAgICAgLy8gdGhpcyBpc24ndCB0ZXN0ZWQgdmlhIHVuaXQgdGVzdHMgKHdlIHVzZSBgZGVidWc6IHRydWVgKSBzbyBtYXkgZXNjYXBlIGNvdmVyYWdlLlxuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmVycm9yKCk7IC8vIG5lZWQgYW4gZXh0cmEgc3BhY2Ugc2luY2UgYXJncGFyc2UgcHJpbnRzIHVzYWdlLlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICBjb25zb2xlLmVycm9yKGVyci5tZXNzYWdlKTtcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHaXZlbiBhbiBvYmplY3QgZnVsbCBvZiBhcmd1bWVudHMgYXMgcmV0dXJuZWQgYnkgYGFyZ3BhcnNlci5wYXJzZV9hcmdzYCxcbiAgICogZXhwYW5kIHRoZSBvbmVzIGZvciBleHRlbnNpb25zIGludG8gYSBuZXN0ZWQgb2JqZWN0IHN0cnVjdHVyZSBhbmQgcmVuYW1lXG4gICAqIGtleXMgdG8gbWF0Y2ggdGhlIGludGVuZGVkIGRlc3RpbmF0aW9uLlxuICAgKlxuICAgKiBFLmcuLCBgeydkcml2ZXItZm9vLWJhcic6IGJhen1gIGJlY29tZXMgYHtkcml2ZXI6IHtmb286IHtiYXI6ICdiYXonfX19YFxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJnc1xuICAgKiBAcmV0dXJucyB7b2JqZWN0fVxuICAgKi9cbiAgc3RhdGljIF90cmFuc2Zvcm1QYXJzZWRBcmdzIChhcmdzKSB7XG4gICAgcmV0dXJuIF8ucmVkdWNlKFxuICAgICAgYXJncyxcbiAgICAgICh1bnBhY2tlZCwgdmFsdWUsIGtleSkgPT4ge1xuICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQodmFsdWUpICYmIGhhc0FyZ1NwZWMoa2V5KSkge1xuICAgICAgICAgIGNvbnN0IHtkZXN0fSA9IC8qKiBAdHlwZSB7aW1wb3J0KCcuLi9zY2hlbWEvYXJnLXNwZWMnKS5BcmdTcGVjfSAqLyhnZXRBcmdTcGVjKGtleSkpO1xuICAgICAgICAgIF8uc2V0KHVucGFja2VkLCBkZXN0LCB2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gdGhpcyBjb3VsZCBiZSBhbnl0aGluZyB0aGF0IF9pc24ndF8gYSBzZXJ2ZXIgYXJnXG4gICAgICAgICAgdW5wYWNrZWRba2V5XSA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bnBhY2tlZDtcbiAgICAgIH0sXG4gICAgICB7fSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFBhdGNoZXMgdGhlIGBleGl0KClgIG1ldGhvZCBvZiB0aGUgcGFyc2VyIHRvIHRocm93IGFuIGVycm9yLCBzbyB3ZSBjYW4gaGFuZGxlIGl0IG1hbnVhbGx5LlxuICAgKiBAcGFyYW0ge0FyZ3VtZW50UGFyc2VyfSBwYXJzZXJcbiAgICovXG4gIHN0YXRpYyBfcGF0Y2hFeGl0IChwYXJzZXIpIHtcbiAgICBwYXJzZXIuZXhpdCA9IChjb2RlLCBtc2cpID0+IHtcbiAgICAgIGlmIChjb2RlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xuICAgICAgfVxuICAgICAgcHJvY2Vzcy5leGl0KCk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0ge2ltcG9ydCgnYXJncGFyc2UnKS5TdWJQYXJzZXJ9IHN1YlBhcnNlclxuICAgKiBAcmV0dXJucyB7aW1wb3J0KCcuL2FyZ3MnKS5Bcmd1bWVudERlZmluaXRpb25zfVxuICAgKi9cbiAgc3RhdGljIF9hZGRTZXJ2ZXJUb1BhcnNlciAoc3ViUGFyc2VyKSB7XG4gICAgY29uc3Qgc2VydmVyUGFyc2VyID0gc3ViUGFyc2VyLmFkZF9wYXJzZXIoJ3NlcnZlcicsIHtcbiAgICAgIGFkZF9oZWxwOiB0cnVlLFxuICAgICAgaGVscDogJ1J1biBhbiBBcHBpdW0gc2VydmVyJyxcbiAgICB9KTtcblxuICAgIEFyZ1BhcnNlci5fcGF0Y2hFeGl0KHNlcnZlclBhcnNlcik7XG5cbiAgICBjb25zdCBzZXJ2ZXJBcmdzID0gZ2V0U2VydmVyQXJncygpO1xuICAgIGZvciAoY29uc3QgW2ZsYWdzT3JOYW1lcywgb3B0c10gb2Ygc2VydmVyQXJncykge1xuICAgICAgLy8gVFMgZG9lc24ndCBsaWtlIHRoZSBzcHJlYWQgb3BlcmF0b3IgaGVyZS5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNlcnZlclBhcnNlci5hZGRfYXJndW1lbnQoLi4uZmxhZ3NPck5hbWVzLCB7Li4ub3B0c30pO1xuICAgIH1cblxuICAgIHJldHVybiBzZXJ2ZXJBcmdzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgZXh0ZW5zaW9uIHN1Yi1zdWItY29tbWFuZHMgdG8gYGRyaXZlcmAvYHBsdWdpbmAgc3ViY29tbWFuZHNcbiAgICogQHBhcmFtIHtpbXBvcnQoJ2FyZ3BhcnNlJykuU3ViUGFyc2VyfSBzdWJQYXJzZXJzXG4gICAqL1xuICBzdGF0aWMgX2FkZEV4dGVuc2lvbkNvbW1hbmRzVG9QYXJzZXIgKHN1YlBhcnNlcnMpIHtcbiAgICBmb3IgKGNvbnN0IHR5cGUgb2YgW0RSSVZFUl9UWVBFLCBQTFVHSU5fVFlQRV0pIHtcbiAgICAgIGNvbnN0IGV4dFBhcnNlciA9IHN1YlBhcnNlcnMuYWRkX3BhcnNlcih0eXBlLCB7XG4gICAgICAgIGFkZF9oZWxwOiB0cnVlLFxuICAgICAgICBoZWxwOiBgQWNjZXNzIHRoZSAke3R5cGV9IG1hbmFnZW1lbnQgQ0xJIGNvbW1hbmRzYCxcbiAgICAgIH0pO1xuXG4gICAgICBBcmdQYXJzZXIuX3BhdGNoRXhpdChleHRQYXJzZXIpO1xuXG4gICAgICBjb25zdCBleHRTdWJQYXJzZXJzID0gZXh0UGFyc2VyLmFkZF9zdWJwYXJzZXJzKHtcbiAgICAgICAgZGVzdDogYCR7dHlwZX1Db21tYW5kYCxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZXh0ZW5zaW9uQXJncyA9IGdldEV4dGVuc2lvbkFyZ3MoKTtcbiAgICAgIGNvbnN0IHBhcnNlclNwZWNzID0gW1xuICAgICAgICB7XG4gICAgICAgICAgY29tbWFuZDogJ2xpc3QnLFxuICAgICAgICAgIGFyZ3M6IGV4dGVuc2lvbkFyZ3NbdHlwZV0ubGlzdCxcbiAgICAgICAgICBoZWxwOiBgTGlzdCBhdmFpbGFibGUgYW5kIGluc3RhbGxlZCAke3R5cGV9c2AsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb21tYW5kOiAnaW5zdGFsbCcsXG4gICAgICAgICAgYXJnczogZXh0ZW5zaW9uQXJnc1t0eXBlXS5pbnN0YWxsLFxuICAgICAgICAgIGhlbHA6IGBJbnN0YWxsIGEgJHt0eXBlfWAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb21tYW5kOiAndW5pbnN0YWxsJyxcbiAgICAgICAgICBhcmdzOiBleHRlbnNpb25BcmdzW3R5cGVdLnVuaW5zdGFsbCxcbiAgICAgICAgICBoZWxwOiBgVW5pbnN0YWxsIGEgJHt0eXBlfWAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjb21tYW5kOiAndXBkYXRlJyxcbiAgICAgICAgICBhcmdzOiBleHRlbnNpb25BcmdzW3R5cGVdLnVwZGF0ZSxcbiAgICAgICAgICBoZWxwOiBgVXBkYXRlIGluc3RhbGxlZCAke3R5cGV9cyB0byB0aGUgbGF0ZXN0IHZlcnNpb25gLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY29tbWFuZDogJ3J1bicsXG4gICAgICAgICAgYXJnczogZXh0ZW5zaW9uQXJnc1t0eXBlXS5ydW4sXG4gICAgICAgICAgaGVscDpcbiAgICAgICAgICAgIGBSdW4gYSBzY3JpcHQgKGRlZmluZWQgaW5zaWRlIHRoZSAke3R5cGV9J3MgcGFja2FnZS5qc29uIHVuZGVyIHRoZSBgICtcbiAgICAgICAgICAgIGDigJxzY3JpcHRz4oCdIGZpZWxkIGluc2lkZSB0aGUg4oCcYXBwaXVt4oCdIGZpZWxkKSBmcm9tIGFuIGluc3RhbGxlZCAke3R5cGV9YCxcbiAgICAgICAgfSxcbiAgICAgIF07XG5cbiAgICAgIGZvciAoY29uc3Qge2NvbW1hbmQsIGFyZ3MsIGhlbHB9IG9mIHBhcnNlclNwZWNzKSB7XG4gICAgICAgIGNvbnN0IHBhcnNlciA9IGV4dFN1YlBhcnNlcnMuYWRkX3BhcnNlcihjb21tYW5kLCB7aGVscH0pO1xuXG4gICAgICAgIEFyZ1BhcnNlci5fcGF0Y2hFeGl0KHBhcnNlcik7XG5cbiAgICAgICAgZm9yIChjb25zdCBbZmxhZ3NPck5hbWVzLCBvcHRzXSBvZiBhcmdzKSB7XG4gICAgICAgICAgLy8gYWRkX2FyZ3VtZW50IG11dGF0ZXMgcGFyYW1zIHNvIG1ha2Ugc3VyZSB0byBzZW5kIGluIGNvcGllcyBpbnN0ZWFkXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIHBhcnNlci5hZGRfYXJndW1lbnQoLi4uZmxhZ3NPck5hbWVzLCB7Li4ub3B0c30pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHtAbGluayBBcmdQYXJzZXJ9IGluc3RhbmNlOyBmaW5hbGl6ZXMgdGhlIGNvbmZpZyBzY2hlbWEuXG4gKlxuICogQGNvbnN0cnVjdHMgQXJnUGFyc2VyXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtkZWJ1Z10gLSBJZiBgdHJ1ZWAsIHRocm93IGluc3RlYWQgb2YgZXhpdCB1cG9uIHBhcnNpbmcgZXJyb3JcbiAqIEByZXR1cm5zIHtBcmdQYXJzZXJ9XG4gKi9cbmZ1bmN0aW9uIGdldFBhcnNlciAoZGVidWcpIHtcbiAgZmluYWxpemVTY2hlbWEoKTtcblxuICByZXR1cm4gbmV3IEFyZ1BhcnNlcihkZWJ1Zyk7XG59XG5cbmV4cG9ydCB7IGdldFBhcnNlciwgQXJnUGFyc2VyIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQVNBLE1BQU1BLGVBQWUsR0FBR0MsTUFBTSxDQUFDQyxNQUFQLENBQ3RCLElBQUlDLEdBQUosQ0FBUSxDQUNOQyxzQkFETSxFQUVOQyxzQkFGTSxFQUdOQyw0QkFITSxFQUlOLElBSk0sRUFLTixRQUxNLEVBTU4s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
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export default class PluginCommand extends ExtensionCommand<any> {
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param {PluginCommandOptions} opts
|
|
5
|
+
*/
|
|
6
|
+
constructor({ config, json }: PluginCommandOptions);
|
|
7
|
+
knownExtensions: Readonly<{
|
|
8
|
+
readonly images: "@appium/images-plugin";
|
|
9
|
+
readonly 'execute-driver': "@appium/execute-driver-plugin";
|
|
10
|
+
readonly 'relaxed-caps': "@appium/relaxed-caps-plugin";
|
|
11
|
+
}>;
|
|
12
|
+
install({ plugin, installType, packageName }: {
|
|
13
|
+
plugin: any;
|
|
14
|
+
installType: any;
|
|
15
|
+
packageName: any;
|
|
16
|
+
}): Promise<import("./extension-command").ExtRecord<any>>;
|
|
17
|
+
uninstall({ plugin }: {
|
|
18
|
+
plugin: any;
|
|
19
|
+
}): Promise<import("./extension-command").ExtRecord<any>>;
|
|
20
|
+
update({ plugin, unsafe }: {
|
|
21
|
+
plugin: any;
|
|
22
|
+
unsafe: any;
|
|
23
|
+
}): Promise<import("./extension-command").ExtensionUpdateResult>;
|
|
24
|
+
run({ plugin, scriptName }: {
|
|
25
|
+
plugin: any;
|
|
26
|
+
scriptName: any;
|
|
27
|
+
}): Promise<import("./extension-command").RunOutput>;
|
|
28
|
+
getPostInstallText({ extName, extData }: {
|
|
29
|
+
extName: any;
|
|
30
|
+
extData: any;
|
|
31
|
+
}): string;
|
|
32
|
+
validateExtensionFields(appiumPkgData: any): void;
|
|
33
|
+
}
|
|
34
|
+
export type PluginCommandOptions = {
|
|
35
|
+
config: import('../extension/extension-config').ExtensionConfig<import('../extension/manifest').PluginType>;
|
|
36
|
+
json: boolean;
|
|
37
|
+
};
|
|
38
|
+
import ExtensionCommand from "./extension-command";
|
|
39
|
+
//# sourceMappingURL=plugin-command.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-command.d.ts","sourceRoot":"","sources":["../../../lib/cli/plugin-command.js"],"names":[],"mappings":"AAMA;IAEE;;;OAGG;IACH,8BAFW,oBAAoB,EAK9B;IADC;;;;OAAoC;IAGtC;;;;8DAEC;IAED;;8DAEC;IAED;;;qEAEC;IAED;;;yDAEC;IAED;;;eAEC;IAED,kDAUC;CAEF;;YAIa,OAAO,+BAA+B,EAAE,eAAe,CAAC,OAAO,uBAAuB,EAAE,UAAU,CAAC;UACnG,OAAO"}
|