appium 2.0.0-beta.46 → 2.0.0-beta.48
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 +145 -44
- package/build/lib/appium.d.ts +3 -103
- package/build/lib/appium.d.ts.map +1 -1
- package/build/lib/appium.js +679 -549
- package/build/lib/appium.js.map +1 -1
- package/build/lib/cli/args.js +247 -127
- package/build/lib/cli/args.js.map +1 -1
- package/build/lib/cli/driver-command.d.ts +24 -5
- package/build/lib/cli/driver-command.d.ts.map +1 -1
- package/build/lib/cli/driver-command.js +78 -88
- package/build/lib/cli/driver-command.js.map +1 -1
- package/build/lib/cli/extension-command.d.ts +33 -24
- package/build/lib/cli/extension-command.d.ts.map +1 -1
- package/build/lib/cli/extension-command.js +729 -512
- package/build/lib/cli/extension-command.js.map +1 -1
- package/build/lib/cli/extension.d.ts +7 -6
- package/build/lib/cli/extension.d.ts.map +1 -1
- package/build/lib/cli/extension.js +68 -65
- package/build/lib/cli/extension.js.map +1 -1
- package/build/lib/cli/parser.d.ts +3 -3
- package/build/lib/cli/parser.d.ts.map +1 -1
- package/build/lib/cli/parser.js +234 -192
- package/build/lib/cli/parser.js.map +1 -1
- package/build/lib/cli/plugin-command.js +58 -87
- package/build/lib/cli/plugin-command.js.map +1 -1
- package/build/lib/cli/utils.js +66 -69
- package/build/lib/cli/utils.js.map +1 -1
- package/build/lib/config-file.d.ts.map +1 -1
- package/build/lib/config-file.js +189 -120
- package/build/lib/config-file.js.map +1 -1
- package/build/lib/config.d.ts.map +1 -1
- package/build/lib/config.js +254 -213
- package/build/lib/config.js.map +1 -1
- package/build/lib/constants.d.ts +6 -5
- package/build/lib/constants.d.ts.map +1 -1
- package/build/lib/constants.js +65 -59
- package/build/lib/constants.js.map +1 -1
- package/build/lib/extension/driver-config.js +199 -164
- package/build/lib/extension/driver-config.js.map +1 -1
- package/build/lib/extension/extension-config.d.ts +33 -26
- package/build/lib/extension/extension-config.d.ts.map +1 -1
- package/build/lib/extension/extension-config.js +541 -396
- package/build/lib/extension/extension-config.js.map +1 -1
- package/build/lib/extension/index.js +98 -68
- package/build/lib/extension/index.js.map +1 -1
- package/build/lib/extension/manifest-migrations.d.ts +27 -0
- package/build/lib/extension/manifest-migrations.d.ts.map +1 -0
- package/build/lib/extension/manifest-migrations.js +118 -0
- package/build/lib/extension/manifest-migrations.js.map +1 -0
- package/build/lib/extension/manifest.d.ts +35 -63
- package/build/lib/extension/manifest.d.ts.map +1 -1
- package/build/lib/extension/manifest.js +500 -240
- package/build/lib/extension/manifest.js.map +1 -1
- package/build/lib/extension/package-changed.js +57 -61
- package/build/lib/extension/package-changed.js.map +1 -1
- package/build/lib/extension/plugin-config.d.ts +2 -3
- package/build/lib/extension/plugin-config.d.ts.map +1 -1
- package/build/lib/extension/plugin-config.js +94 -70
- package/build/lib/extension/plugin-config.js.map +1 -1
- package/build/lib/grid-register.js +119 -137
- package/build/lib/grid-register.js.map +1 -1
- package/build/lib/logger.d.ts +1 -1
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/logger.js +5 -15
- package/build/lib/logger.js.map +1 -1
- package/build/lib/logsink.d.ts.map +1 -1
- package/build/lib/logsink.js +189 -183
- package/build/lib/logsink.js.map +1 -1
- package/build/lib/main.d.ts +19 -12
- package/build/lib/main.d.ts.map +1 -1
- package/build/lib/main.js +330 -304
- package/build/lib/main.js.map +1 -1
- package/build/lib/schema/arg-spec.js +153 -108
- package/build/lib/schema/arg-spec.js.map +1 -1
- package/build/lib/schema/cli-args.js +203 -164
- package/build/lib/schema/cli-args.js.map +1 -1
- package/build/lib/schema/cli-transformers.js +117 -72
- package/build/lib/schema/cli-transformers.js.map +1 -1
- package/build/lib/schema/index.js +17 -32
- package/build/lib/schema/index.js.map +1 -1
- package/build/lib/schema/keywords.js +125 -67
- package/build/lib/schema/keywords.js.map +1 -1
- package/build/lib/schema/schema.d.ts.map +1 -1
- package/build/lib/schema/schema.js +582 -417
- package/build/lib/schema/schema.js.map +1 -1
- package/build/lib/utils.d.ts +41 -255
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js +342 -193
- package/build/lib/utils.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/types/cli.d.ts +45 -34
- package/build/types/cli.d.ts.map +1 -1
- package/build/types/cli.js +3 -0
- package/build/types/cli.js.map +1 -0
- package/build/types/index.d.ts +1 -2
- package/build/types/index.d.ts.map +1 -1
- package/build/types/index.js +19 -0
- package/build/types/index.js.map +1 -0
- package/build/types/manifest/base.d.ts +135 -0
- package/build/types/manifest/base.d.ts.map +1 -0
- package/build/types/manifest/base.js +3 -0
- package/build/types/manifest/base.js.map +1 -0
- package/build/types/manifest/index.d.ts +19 -0
- package/build/types/manifest/index.d.ts.map +1 -0
- package/build/types/manifest/index.js +40 -0
- package/build/types/manifest/index.js.map +1 -0
- package/build/types/manifest/v3.d.ts +139 -0
- package/build/types/manifest/v3.d.ts.map +1 -0
- package/build/types/manifest/v3.js +3 -0
- package/build/types/manifest/v3.js.map +1 -0
- package/lib/appium.js +1 -1
- package/lib/cli/args.js +1 -1
- package/lib/cli/driver-command.js +17 -0
- package/lib/cli/extension-command.js +119 -65
- package/lib/cli/extension.js +9 -8
- package/lib/cli/parser.js +2 -2
- package/lib/config-file.js +2 -3
- package/lib/config.js +3 -2
- package/lib/constants.js +7 -5
- package/lib/extension/extension-config.js +52 -47
- package/lib/extension/manifest-migrations.js +120 -0
- package/lib/extension/manifest.js +184 -103
- package/lib/extension/plugin-config.js +1 -2
- package/lib/logsink.js +26 -5
- package/lib/main.js +58 -50
- package/lib/schema/schema.js +6 -1
- package/lib/utils.js +62 -0
- package/package.json +24 -25
- package/scripts/autoinstall-extensions.js +78 -26
- package/types/cli.ts +81 -42
- package/types/index.ts +1 -2
- package/types/manifest/README.md +30 -0
- package/types/manifest/base.ts +158 -0
- package/types/manifest/index.ts +27 -0
- package/types/manifest/v3.ts +161 -0
- package/build/types/appium-manifest.d.ts +0 -59
- package/build/types/appium-manifest.d.ts.map +0 -1
- package/build/types/extension-manifest.d.ts +0 -55
- package/build/types/extension-manifest.d.ts.map +0 -1
- package/types/appium-manifest.ts +0 -73
- package/types/extension-manifest.ts +0 -64
package/build/types/cli.d.ts
CHANGED
|
@@ -1,25 +1,42 @@
|
|
|
1
|
-
import { ServerArgs } from '@appium/types';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export declare type
|
|
1
|
+
import { DriverType, PluginType, ServerArgs } from '@appium/types';
|
|
2
|
+
import { SetOptional } from 'type-fest';
|
|
3
|
+
import { InstallType } from './manifest';
|
|
4
|
+
export declare type ServerCommand = 'server';
|
|
5
|
+
export declare type DriverCommand = DriverType;
|
|
6
|
+
export declare type PluginCommand = PluginType;
|
|
5
7
|
/**
|
|
6
|
-
*
|
|
8
|
+
* Extension-specific commands
|
|
7
9
|
*/
|
|
8
|
-
export declare type
|
|
10
|
+
export declare type CliExtensionCommand = DriverCommand | PluginCommand;
|
|
9
11
|
/**
|
|
10
|
-
* Possible
|
|
11
|
-
|
|
12
|
+
* Possible commands for the `appium` CLI.
|
|
13
|
+
*/
|
|
14
|
+
export declare type CliCommand = ServerCommand | CliExtensionCommand;
|
|
15
|
+
/**
|
|
16
|
+
* Possible subcommands of {@linkcode DriverCommand} or
|
|
17
|
+
* {@linkcode PluginCommand}.
|
|
12
18
|
*/
|
|
13
19
|
export declare type CliExtensionSubcommand = 'install' | 'list' | 'run' | 'uninstall' | 'update';
|
|
20
|
+
export interface CliExtensionSubcommandListArgs {
|
|
21
|
+
showInstalled?: boolean;
|
|
22
|
+
showUpdates?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface CliExtensionSubcommandInstallArgs {
|
|
25
|
+
installType: InstallType;
|
|
26
|
+
packageName?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface CliExtensionSubcommandUpdateArgs {
|
|
29
|
+
unsafe?: boolean;
|
|
30
|
+
}
|
|
14
31
|
/**
|
|
15
32
|
* Random stuff that may appear in the parsed args which has no equivalent in a
|
|
16
33
|
* config file.
|
|
17
34
|
*/
|
|
18
35
|
export interface MoreArgs {
|
|
19
36
|
/**
|
|
20
|
-
* Possible subcommands. If empty, defaults to {@linkcode
|
|
37
|
+
* Possible subcommands. If empty, defaults to {@linkcode ServerCommand}.
|
|
21
38
|
*/
|
|
22
|
-
subcommand?:
|
|
39
|
+
subcommand?: CliCommand;
|
|
23
40
|
/**
|
|
24
41
|
* Path to config file, if any. Does not make sense for this to be allowed in a config file!
|
|
25
42
|
*/
|
|
@@ -62,18 +79,19 @@ export interface ProgrammaticArgs {
|
|
|
62
79
|
*/
|
|
63
80
|
showConfig?: boolean;
|
|
64
81
|
}
|
|
82
|
+
export interface DriverExtArgs {
|
|
83
|
+
driverCommand: CliExtensionSubcommand;
|
|
84
|
+
driver?: string;
|
|
85
|
+
}
|
|
86
|
+
export interface PluginExtArgs {
|
|
87
|
+
pluginCommand: CliExtensionSubcommand;
|
|
88
|
+
plugin?: string;
|
|
89
|
+
}
|
|
65
90
|
/**
|
|
66
91
|
* These are args which the user will specify if using an extension command
|
|
67
92
|
*/
|
|
68
|
-
export interface
|
|
69
|
-
|
|
70
|
-
* Subcommands of `driver` subcommand
|
|
71
|
-
*/
|
|
72
|
-
driverCommand?: CliExtensionSubcommand;
|
|
73
|
-
/**
|
|
74
|
-
* Subcommands of `plugin` subcommand
|
|
75
|
-
*/
|
|
76
|
-
pluginCommand?: CliExtensionSubcommand;
|
|
93
|
+
export interface BaseExtArgs<Cmd extends CliExtensionCommand> {
|
|
94
|
+
subcommand: Cmd;
|
|
77
95
|
/**
|
|
78
96
|
* Output JSON instead of human-readable text
|
|
79
97
|
*/
|
|
@@ -88,29 +106,23 @@ export interface ExtArgs extends WithExtSubcommand {
|
|
|
88
106
|
extraArgs?: string[];
|
|
89
107
|
}
|
|
90
108
|
/**
|
|
91
|
-
* Args
|
|
109
|
+
* Args for extension commands; includes a subcommand
|
|
92
110
|
*/
|
|
93
|
-
export
|
|
94
|
-
subcommand?: ServerSubcommand;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Args having the `driver` or `plugin` subcommand
|
|
98
|
-
*/
|
|
99
|
-
export interface WithExtSubcommand {
|
|
100
|
-
subcommand: DriverSubcommand | PluginSubcommand;
|
|
101
|
-
}
|
|
111
|
+
export declare type ExtArgs<Cmd extends CliExtensionCommand, SubCmd extends CliExtensionSubcommand> = BaseExtArgs<Cmd> & (Cmd extends DriverCommand ? DriverExtArgs : Cmd extends PluginCommand ? PluginExtArgs : never) & (SubCmd extends 'install' ? CliExtensionSubcommandInstallArgs : SubCmd extends 'list' ? CliExtensionSubcommandListArgs : SubCmd extends 'update' ? CliExtensionSubcommandUpdateArgs : never);
|
|
102
112
|
/**
|
|
103
113
|
* Some generic bits of arguments; should not be used outside this declaration
|
|
104
114
|
*/
|
|
105
|
-
declare type CommonArgs<
|
|
115
|
+
export declare type CommonArgs<Cmd extends CliCommand = ServerCommand, SubCmd extends CliExtensionSubcommand | void = void> = MoreArgs & ProgrammaticArgs & (Cmd extends ServerCommand ? ServerArgs : Cmd extends CliExtensionCommand ? SubCmd extends CliExtensionSubcommand ? ExtArgs<Cmd, SubCmd> : never : never);
|
|
106
116
|
/**
|
|
107
117
|
* Fully-parsed arguments, containing defaults, computed args, and config file values.
|
|
108
118
|
*/
|
|
109
|
-
export declare type ParsedArgs<
|
|
119
|
+
export declare type ParsedArgs<Cmd extends CliCommand = ServerCommand, SubCmd extends CliExtensionSubcommand | void = void> = CommonArgs<Cmd, SubCmd>;
|
|
110
120
|
/**
|
|
111
|
-
*
|
|
121
|
+
* Like {@linkcode ParsedArgs} except server arguments are all optional.
|
|
122
|
+
*
|
|
123
|
+
* _May_ have defaults applied; _may_ contain config values; _may_ contain computed args.
|
|
112
124
|
*/
|
|
113
|
-
export declare type Args<
|
|
125
|
+
export declare type Args<Cmd extends CliCommand = ServerCommand, SubCmd extends CliExtensionSubcommand | void = void> = Cmd extends ServerCommand ? SetOptional<CommonArgs<Cmd>, keyof ServerArgs> : ParsedArgs<Cmd, SubCmd>;
|
|
114
126
|
/**
|
|
115
127
|
* Shown by `appium --build-info`
|
|
116
128
|
*/
|
|
@@ -119,5 +131,4 @@ export declare type BuildInfo = {
|
|
|
119
131
|
'git-sha'?: string;
|
|
120
132
|
built?: string;
|
|
121
133
|
};
|
|
122
|
-
export {};
|
|
123
134
|
//# sourceMappingURL=cli.d.ts.map
|
package/build/types/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../types/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../types/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../types/cli.ts"],"names":[],"mappings":""}
|
package/build/types/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { ExtensionType, DriverType, DriverClass, PluginType, PluginClass } from '@appium/types';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './extension-manifest';
|
|
3
|
+
export * from './manifest';
|
|
5
4
|
export * from './cli';
|
|
6
5
|
/**
|
|
7
6
|
* Known environment variables concerning Appium
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAE9F,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAE9F,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,MAAM,CAAC,UAAU;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,oBAAY,QAAQ,CAAC,OAAO,SAAS,aAAa,IAAI,OAAO,SAAS,UAAU,GAC5E,WAAW,GACX,OAAO,SAAS,UAAU,GAC1B,WAAW,GACX,KAAK,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./manifest"), exports);
|
|
18
|
+
__exportStar(require("./cli"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,6CAA2B;AAC3B,wCAAsB"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { DriverType, ExtensionType, PluginType } from '@appium/types';
|
|
2
|
+
import { SchemaObject } from 'ajv';
|
|
3
|
+
import { PackageJson, SetRequired } from 'type-fest';
|
|
4
|
+
/**
|
|
5
|
+
* One of the possible extension installation stratgies
|
|
6
|
+
*/
|
|
7
|
+
export declare type InstallType = 'npm' | 'git' | 'local' | 'github';
|
|
8
|
+
export interface InternalMetadata {
|
|
9
|
+
/**
|
|
10
|
+
* Package name of extension
|
|
11
|
+
*
|
|
12
|
+
* `name` from its `package.json`
|
|
13
|
+
*/
|
|
14
|
+
pkgName: string;
|
|
15
|
+
/**
|
|
16
|
+
* Version of extension
|
|
17
|
+
*
|
|
18
|
+
* `version` from its `package.json`
|
|
19
|
+
*/
|
|
20
|
+
version: string;
|
|
21
|
+
/**
|
|
22
|
+
* The method in which the user installed the extension (the `source` CLI arg)
|
|
23
|
+
*/
|
|
24
|
+
installType: InstallType;
|
|
25
|
+
/**
|
|
26
|
+
* Whatever the user typed as the extension to install. May be derived from `package.json`
|
|
27
|
+
*/
|
|
28
|
+
installSpec: string;
|
|
29
|
+
/**
|
|
30
|
+
* Maximum version of Appium that this extension is compatible with.
|
|
31
|
+
*
|
|
32
|
+
* If `undefined`, we'll try anyway.
|
|
33
|
+
*/
|
|
34
|
+
appiumVersion?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Shape of the `appium.schema` property in an extension's `package.json` (if it exists)
|
|
38
|
+
*/
|
|
39
|
+
export declare type ExtSchemaMetadata = string | (SchemaObject & {
|
|
40
|
+
[key: number]: never;
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* Manifest data shared by all extensions, as contained in `package.json`
|
|
44
|
+
*/
|
|
45
|
+
export interface CommonExtMetadata {
|
|
46
|
+
/**
|
|
47
|
+
* The main class of the extension.
|
|
48
|
+
*
|
|
49
|
+
* The extension must export this class by name.
|
|
50
|
+
*/
|
|
51
|
+
mainClass: string;
|
|
52
|
+
/**
|
|
53
|
+
* Lookup table of scripts to run via `appium <driver|plugin> run <script>` keyed by name.
|
|
54
|
+
*/
|
|
55
|
+
scripts?: Record<string, string>;
|
|
56
|
+
/**
|
|
57
|
+
* Schema describing configuration options (and CLI args) for the extension.
|
|
58
|
+
*
|
|
59
|
+
* Can also just be a path (relative to the extension root) to an external JSON schema file.
|
|
60
|
+
*/
|
|
61
|
+
schema?: ExtSchemaMetadata;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Driver-specific manifest data as stored in a driver's `package.json`
|
|
65
|
+
*/
|
|
66
|
+
export interface DriverMetadata {
|
|
67
|
+
/**
|
|
68
|
+
* Automation name of the driver
|
|
69
|
+
*/
|
|
70
|
+
automationName: string;
|
|
71
|
+
/**
|
|
72
|
+
* Platforms the driver supports
|
|
73
|
+
*/
|
|
74
|
+
platformNames: string[];
|
|
75
|
+
/**
|
|
76
|
+
* Short name of the driver (displayed in `appium list`, etc.)
|
|
77
|
+
*/
|
|
78
|
+
driverName: string;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Plugin-specific manifest data as stored in a plugin's `package.json`
|
|
82
|
+
*/
|
|
83
|
+
export interface PluginMetadata {
|
|
84
|
+
/**
|
|
85
|
+
* Short name of the plugin (displayed in `appium list`, etc.)
|
|
86
|
+
*/
|
|
87
|
+
pluginName: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Generic extension metadata as stored in the `appium` prop of an extension's `package.json`.
|
|
91
|
+
*/
|
|
92
|
+
export declare type ExtMetadata<ExtType extends ExtensionType> = (ExtType extends DriverType ? DriverMetadata : ExtType extends PluginType ? PluginMetadata : never) & CommonExtMetadata;
|
|
93
|
+
/**
|
|
94
|
+
* Combination of external + internal extension data with `driverName`/`pluginName` removed (it becomes a key in an {@linkcode ExtRecord} object).
|
|
95
|
+
* Part of `extensions.yaml`.
|
|
96
|
+
*/
|
|
97
|
+
export declare type ExtManifest<ExtType extends ExtensionType> = Omit<ExtMetadata<ExtType>, 'driverName' | 'pluginName'> & InternalMetadata;
|
|
98
|
+
/**
|
|
99
|
+
* Lookup of extension name to {@linkcode ExtManifest}.
|
|
100
|
+
* @see {ManifestData}
|
|
101
|
+
*/
|
|
102
|
+
export declare type ExtRecord<ExtType extends ExtensionType> = Record<string, ExtManifest<ExtType>>;
|
|
103
|
+
/**
|
|
104
|
+
* The shape of the `extensions.yaml` file
|
|
105
|
+
*/
|
|
106
|
+
export interface ManifestData {
|
|
107
|
+
drivers: ExtRecord<DriverType>;
|
|
108
|
+
plugins: ExtRecord<PluginType>;
|
|
109
|
+
schemaRev?: number;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* The name of an installed extension, as it appears in `extensions.yaml`
|
|
113
|
+
* (as a property name under `drivers` or `plugins`)
|
|
114
|
+
*/
|
|
115
|
+
export declare type ExtName<ExtType extends ExtensionType> = keyof ExtRecord<ExtType>;
|
|
116
|
+
/**
|
|
117
|
+
* A `package.json` containing extension metadata.
|
|
118
|
+
* Must have the following properties:
|
|
119
|
+
* - `name`: the name of the extension
|
|
120
|
+
* - `version`: the version of the extension
|
|
121
|
+
* - `appium`: the metadata for the extension
|
|
122
|
+
* - `peerDependencies.appium`: the maximum compatible version of Appium
|
|
123
|
+
*/
|
|
124
|
+
export declare type ExtPackageJson<ExtType extends ExtensionType> = SetRequired<PackageJson, 'name' | 'version'> & {
|
|
125
|
+
appium: ExtMetadata<ExtType>;
|
|
126
|
+
peerDependencies: {
|
|
127
|
+
appium: string;
|
|
128
|
+
[key: string]: string;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* A transient format between installation and insertion of extension metadata into the manifest.
|
|
133
|
+
*/
|
|
134
|
+
export declare type ExtInstallReceipt<ExtType extends ExtensionType> = ExtMetadata<ExtType> & InternalMetadata;
|
|
135
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../types/manifest/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,YAAY,EAAC,MAAM,KAAK,CAAC;AACjC,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,WAAW,CAAC;AAEnD;;GAEG;AACH,oBAAY,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,oBAAY,iBAAiB,GAAG,MAAM,GAAG,CAAC,YAAY,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;CAAC,CAAC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;;OAIG;IAEH,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,oBAAY,WAAW,CAAC,OAAO,SAAS,aAAa,IAAI,CAAC,OAAO,SAAS,UAAU,GAChF,cAAc,GACd,OAAO,SAAS,UAAU,GAC1B,cAAc,GACd,KAAK,CAAC,GACR,iBAAiB,CAAC;AAEpB;;;GAGG;AACH,oBAAY,WAAW,CAAC,OAAO,SAAS,aAAa,IAAI,IAAI,CAC3D,WAAW,CAAC,OAAO,CAAC,EACpB,YAAY,GAAG,YAAY,CAC5B,GACC,gBAAgB,CAAC;AAEnB;;;GAGG;AACH,oBAAY,SAAS,CAAC,OAAO,SAAS,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAE5F;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,oBAAY,OAAO,CAAC,OAAO,SAAS,aAAa,IAAI,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;AAE9E;;;;;;;GAOG;AACH,oBAAY,cAAc,CAAC,OAAO,SAAS,aAAa,IAAI,WAAW,CACrE,WAAW,EACX,MAAM,GAAG,SAAS,CACnB,GAAG;IACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,gBAAgB,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,oBAAY,iBAAiB,CAAC,OAAO,SAAS,aAAa,IAAI,WAAW,CAAC,OAAO,CAAC,GACjF,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../types/manifest/base.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* See `README.md` for information on how to add a new version of the schema.
|
|
3
|
+
* @module
|
|
4
|
+
*/
|
|
5
|
+
import * as ManifestV2 from './base';
|
|
6
|
+
import * as ManifestV3 from './v3';
|
|
7
|
+
export * from './v3';
|
|
8
|
+
export { ManifestV2, ManifestV3 };
|
|
9
|
+
export interface ManifestDataVersions {
|
|
10
|
+
2: ManifestV2.ManifestData;
|
|
11
|
+
3: ManifestV3.ManifestData;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* One of the known versions of the `extensions.yaml` schema.
|
|
15
|
+
*
|
|
16
|
+
* @privateRemarks You probably don't need to edit this.
|
|
17
|
+
*/
|
|
18
|
+
export declare type AnyManifestDataVersion = ManifestDataVersions[keyof ManifestDataVersions];
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../types/manifest/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,UAAU,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,MAAM,CAAC;AAInC,cAAc,MAAM,CAAC;AAGrB,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,CAAC;AAEhC,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC;IAC3B,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC;CAC5B;AAGD;;;;GAIG;AACH,oBAAY,sBAAsB,GAAG,oBAAoB,CAAC,MAAM,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* See `README.md` for information on how to add a new version of the schema.
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
23
|
+
if (mod && mod.__esModule) return mod;
|
|
24
|
+
var result = {};
|
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
26
|
+
__setModuleDefault(result, mod);
|
|
27
|
+
return result;
|
|
28
|
+
};
|
|
29
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
30
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
31
|
+
};
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.ManifestV3 = exports.ManifestV2 = void 0;
|
|
34
|
+
const ManifestV2 = __importStar(require("./base"));
|
|
35
|
+
exports.ManifestV2 = ManifestV2;
|
|
36
|
+
const ManifestV3 = __importStar(require("./v3"));
|
|
37
|
+
exports.ManifestV3 = ManifestV3;
|
|
38
|
+
// add `import * as ManifestV<new-version> from './v<new-version>';` above
|
|
39
|
+
__exportStar(require("./v3"), exports);
|
|
40
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../types/manifest/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,mDAAqC;AAQ7B,gCAAU;AAPlB,iDAAmC;AAOf,gCAAU;AAL9B,0EAA0E;AAE1E,uCAAqB"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { DriverType, ExtensionType, PluginType } from '@appium/types';
|
|
2
|
+
import { SchemaObject } from 'ajv';
|
|
3
|
+
import { PackageJson, SetRequired } from 'type-fest';
|
|
4
|
+
/**
|
|
5
|
+
* One of the possible extension installation stratgies
|
|
6
|
+
*/
|
|
7
|
+
export declare type InstallType = 'npm' | 'git' | 'local' | 'github';
|
|
8
|
+
export interface InternalMetadata {
|
|
9
|
+
/**
|
|
10
|
+
* Package name of extension
|
|
11
|
+
*
|
|
12
|
+
* `name` from its `package.json`
|
|
13
|
+
*/
|
|
14
|
+
pkgName: string;
|
|
15
|
+
/**
|
|
16
|
+
* Version of extension
|
|
17
|
+
*
|
|
18
|
+
* `version` from its `package.json`
|
|
19
|
+
*/
|
|
20
|
+
version: string;
|
|
21
|
+
/**
|
|
22
|
+
* The method in which the user installed the extension (the `source` CLI arg)
|
|
23
|
+
*/
|
|
24
|
+
installType: InstallType;
|
|
25
|
+
/**
|
|
26
|
+
* Whatever the user typed as the extension to install. May be derived from `package.json`
|
|
27
|
+
*/
|
|
28
|
+
installSpec: string;
|
|
29
|
+
/**
|
|
30
|
+
* Maximum version of Appium that this extension is compatible with.
|
|
31
|
+
*
|
|
32
|
+
* If `undefined`, we'll try anyway.
|
|
33
|
+
*/
|
|
34
|
+
appiumVersion?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Path to the extension's root directory
|
|
37
|
+
*/
|
|
38
|
+
installPath: string;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Shape of the `appium.schema` property in an extension's `package.json` (if it exists)
|
|
42
|
+
*/
|
|
43
|
+
export declare type ExtSchemaMetadata = string | (SchemaObject & {
|
|
44
|
+
[key: number]: never;
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* Manifest data shared by all extensions, as contained in `package.json`
|
|
48
|
+
*/
|
|
49
|
+
export interface CommonExtMetadata {
|
|
50
|
+
/**
|
|
51
|
+
* The main class of the extension.
|
|
52
|
+
*
|
|
53
|
+
* The extension must export this class by name.
|
|
54
|
+
*/
|
|
55
|
+
mainClass: string;
|
|
56
|
+
/**
|
|
57
|
+
* Lookup table of scripts to run via `appium <driver|plugin> run <script>` keyed by name.
|
|
58
|
+
*/
|
|
59
|
+
scripts?: Record<string, string>;
|
|
60
|
+
/**
|
|
61
|
+
* Schema describing configuration options (and CLI args) for the extension.
|
|
62
|
+
*
|
|
63
|
+
* Can also just be a path (relative to the extension root) to an external JSON schema file.
|
|
64
|
+
*/
|
|
65
|
+
schema?: ExtSchemaMetadata;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Driver-specific manifest data as stored in a driver's `package.json`
|
|
69
|
+
*/
|
|
70
|
+
export interface DriverMetadata {
|
|
71
|
+
/**
|
|
72
|
+
* Automation name of the driver
|
|
73
|
+
*/
|
|
74
|
+
automationName: string;
|
|
75
|
+
/**
|
|
76
|
+
* Platforms the driver supports
|
|
77
|
+
*/
|
|
78
|
+
platformNames: string[];
|
|
79
|
+
/**
|
|
80
|
+
* Short name of the driver (displayed in `appium list`, etc.)
|
|
81
|
+
*/
|
|
82
|
+
driverName: string;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Plugin-specific manifest data as stored in a plugin's `package.json`
|
|
86
|
+
*/
|
|
87
|
+
export interface PluginMetadata {
|
|
88
|
+
/**
|
|
89
|
+
* Short name of the plugin (displayed in `appium list`, etc.)
|
|
90
|
+
*/
|
|
91
|
+
pluginName: string;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Generic extension metadata as stored in the `appium` prop of an extension's `package.json`.
|
|
95
|
+
*/
|
|
96
|
+
export declare type ExtMetadata<ExtType extends ExtensionType> = (ExtType extends DriverType ? DriverMetadata : ExtType extends PluginType ? PluginMetadata : never) & CommonExtMetadata;
|
|
97
|
+
/**
|
|
98
|
+
* Combination of external + internal extension data with `driverName`/`pluginName` removed (it becomes a key in an {@linkcode ExtRecord} object).
|
|
99
|
+
* Part of `extensions.yaml`.
|
|
100
|
+
*/
|
|
101
|
+
export declare type ExtManifest<ExtType extends ExtensionType> = Omit<ExtMetadata<ExtType>, 'driverName' | 'pluginName'> & InternalMetadata;
|
|
102
|
+
/**
|
|
103
|
+
* Lookup of extension name to {@linkcode ExtManifest}.
|
|
104
|
+
* @see {ManifestData}
|
|
105
|
+
*/
|
|
106
|
+
export declare type ExtRecord<ExtType extends ExtensionType> = Record<string, ExtManifest<ExtType>>;
|
|
107
|
+
/**
|
|
108
|
+
* The shape of the `extensions.yaml` file
|
|
109
|
+
*/
|
|
110
|
+
export interface ManifestData {
|
|
111
|
+
drivers: ExtRecord<DriverType>;
|
|
112
|
+
plugins: ExtRecord<PluginType>;
|
|
113
|
+
schemaRev: number;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* The name of an installed extension, as it appears in `extensions.yaml`
|
|
117
|
+
* (as a property name under `drivers` or `plugins`)
|
|
118
|
+
*/
|
|
119
|
+
export declare type ExtName<ExtType extends ExtensionType> = keyof ExtRecord<ExtType>;
|
|
120
|
+
/**
|
|
121
|
+
* A `package.json` containing extension metadata.
|
|
122
|
+
* Must have the following properties:
|
|
123
|
+
* - `name`: the name of the extension
|
|
124
|
+
* - `version`: the version of the extension
|
|
125
|
+
* - `appium`: the metadata for the extension
|
|
126
|
+
* - `peerDependencies.appium`: the maximum compatible version of Appium
|
|
127
|
+
*/
|
|
128
|
+
export declare type ExtPackageJson<ExtType extends ExtensionType> = SetRequired<PackageJson, 'name' | 'version'> & {
|
|
129
|
+
appium: ExtMetadata<ExtType>;
|
|
130
|
+
peerDependencies: {
|
|
131
|
+
appium: string;
|
|
132
|
+
[key: string]: string;
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* A transient format between installation and insertion of extension metadata into the manifest.
|
|
137
|
+
*/
|
|
138
|
+
export declare type ExtInstallReceipt<ExtType extends ExtensionType> = ExtMetadata<ExtType> & InternalMetadata;
|
|
139
|
+
//# sourceMappingURL=v3.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v3.d.ts","sourceRoot":"","sources":["../../../types/manifest/v3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,YAAY,EAAC,MAAM,KAAK,CAAC;AACjC,OAAO,EAAC,WAAW,EAAE,WAAW,EAAC,MAAM,WAAW,CAAC;AAEnD;;GAEG;AACH,oBAAY,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,EAAE,WAAW,CAAC;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,oBAAY,iBAAiB,GAAG,MAAM,GAAG,CAAC,YAAY,GAAG;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;CAAC,CAAC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;;;OAIG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,oBAAY,WAAW,CAAC,OAAO,SAAS,aAAa,IAAI,CAAC,OAAO,SAAS,UAAU,GAChF,cAAc,GACd,OAAO,SAAS,UAAU,GAC1B,cAAc,GACd,KAAK,CAAC,GACR,iBAAiB,CAAC;AAEpB;;;GAGG;AACH,oBAAY,WAAW,CAAC,OAAO,SAAS,aAAa,IAAI,IAAI,CAC3D,WAAW,CAAC,OAAO,CAAC,EACpB,YAAY,GAAG,YAAY,CAC5B,GACC,gBAAgB,CAAC;AAEnB;;;GAGG;AACH,oBAAY,SAAS,CAAC,OAAO,SAAS,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;AAE5F;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,oBAAY,OAAO,CAAC,OAAO,SAAS,aAAa,IAAI,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;AAE9E;;;;;;;GAOG;AACH,oBAAY,cAAc,CAAC,OAAO,SAAS,aAAa,IAAI,WAAW,CACrE,WAAW,EACX,MAAM,GAAG,SAAS,CACnB,GAAG;IACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,gBAAgB,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,oBAAY,iBAAiB,CAAC,OAAO,SAAS,aAAa,IAAI,WAAW,CAAC,OAAO,CAAC,GACjF,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v3.js","sourceRoot":"","sources":["../../../types/manifest/v3.ts"],"names":[],"mappings":""}
|
package/lib/appium.js
CHANGED
|
@@ -306,7 +306,7 @@ class AppiumDriver extends DriverCore {
|
|
|
306
306
|
// Likewise, any driver-specific CLI args that were passed in should be assigned directly to
|
|
307
307
|
// the driver so that they cannot be mimicked by a malicious user sending in capabilities
|
|
308
308
|
const cliArgs = this.getCliArgsForDriver(driverName);
|
|
309
|
-
if (!_.
|
|
309
|
+
if (!_.isUndefined(cliArgs)) {
|
|
310
310
|
driverInstance.cliArgs = cliArgs;
|
|
311
311
|
}
|
|
312
312
|
|
package/lib/cli/args.js
CHANGED
|
@@ -17,6 +17,11 @@ export default class DriverCommand extends ExtensionCommand {
|
|
|
17
17
|
this.knownExtensions = KNOWN_DRIVERS;
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Install a driver
|
|
22
|
+
*
|
|
23
|
+
* @param {DriverInstallOpts} opts
|
|
24
|
+
*/
|
|
20
25
|
async install({driver, installType, packageName}) {
|
|
21
26
|
return await super._install({
|
|
22
27
|
installSpec: driver,
|
|
@@ -78,3 +83,15 @@ export default class DriverCommand extends ExtensionCommand {
|
|
|
78
83
|
/**
|
|
79
84
|
* @typedef {import('@appium/types').DriverType} DriverType
|
|
80
85
|
*/
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Options for {@linkcode ExtensionCommand._install}
|
|
89
|
+
* @typedef DriverInstallOpts
|
|
90
|
+
* @property {string} driver - the name or spec of a driver to install
|
|
91
|
+
* @property {InstallType} installType - how to install this driver. One of the INSTALL_TYPES
|
|
92
|
+
* @property {string} [packageName] - for git/github installs, the driver node package name
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* @typedef {import('appium/types').InstallType} InstallType
|
|
97
|
+
*/
|