appium 2.0.0-beta.46 → 2.0.0-beta.47

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.
Files changed (138) hide show
  1. package/README.md +145 -44
  2. package/build/lib/appium.d.ts +3 -103
  3. package/build/lib/appium.d.ts.map +1 -1
  4. package/build/lib/appium.js +679 -549
  5. package/build/lib/appium.js.map +1 -1
  6. package/build/lib/cli/args.js +247 -127
  7. package/build/lib/cli/args.js.map +1 -1
  8. package/build/lib/cli/driver-command.js +63 -88
  9. package/build/lib/cli/driver-command.js.map +1 -1
  10. package/build/lib/cli/extension-command.d.ts +32 -23
  11. package/build/lib/cli/extension-command.d.ts.map +1 -1
  12. package/build/lib/cli/extension-command.js +730 -512
  13. package/build/lib/cli/extension-command.js.map +1 -1
  14. package/build/lib/cli/extension.d.ts +7 -6
  15. package/build/lib/cli/extension.d.ts.map +1 -1
  16. package/build/lib/cli/extension.js +68 -65
  17. package/build/lib/cli/extension.js.map +1 -1
  18. package/build/lib/cli/parser.d.ts +3 -3
  19. package/build/lib/cli/parser.d.ts.map +1 -1
  20. package/build/lib/cli/parser.js +234 -192
  21. package/build/lib/cli/parser.js.map +1 -1
  22. package/build/lib/cli/plugin-command.js +58 -87
  23. package/build/lib/cli/plugin-command.js.map +1 -1
  24. package/build/lib/cli/utils.js +66 -69
  25. package/build/lib/cli/utils.js.map +1 -1
  26. package/build/lib/config-file.d.ts.map +1 -1
  27. package/build/lib/config-file.js +189 -120
  28. package/build/lib/config-file.js.map +1 -1
  29. package/build/lib/config.d.ts.map +1 -1
  30. package/build/lib/config.js +254 -213
  31. package/build/lib/config.js.map +1 -1
  32. package/build/lib/constants.d.ts +5 -5
  33. package/build/lib/constants.d.ts.map +1 -1
  34. package/build/lib/constants.js +64 -59
  35. package/build/lib/constants.js.map +1 -1
  36. package/build/lib/extension/driver-config.js +199 -164
  37. package/build/lib/extension/driver-config.js.map +1 -1
  38. package/build/lib/extension/extension-config.d.ts +18 -16
  39. package/build/lib/extension/extension-config.d.ts.map +1 -1
  40. package/build/lib/extension/extension-config.js +523 -396
  41. package/build/lib/extension/extension-config.js.map +1 -1
  42. package/build/lib/extension/index.js +98 -68
  43. package/build/lib/extension/index.js.map +1 -1
  44. package/build/lib/extension/manifest-migrations.d.ts +27 -0
  45. package/build/lib/extension/manifest-migrations.d.ts.map +1 -0
  46. package/build/lib/extension/manifest-migrations.js +99 -0
  47. package/build/lib/extension/manifest-migrations.js.map +1 -0
  48. package/build/lib/extension/manifest.d.ts +7 -56
  49. package/build/lib/extension/manifest.d.ts.map +1 -1
  50. package/build/lib/extension/manifest.js +432 -240
  51. package/build/lib/extension/manifest.js.map +1 -1
  52. package/build/lib/extension/package-changed.js +57 -61
  53. package/build/lib/extension/package-changed.js.map +1 -1
  54. package/build/lib/extension/plugin-config.d.ts +2 -3
  55. package/build/lib/extension/plugin-config.d.ts.map +1 -1
  56. package/build/lib/extension/plugin-config.js +94 -70
  57. package/build/lib/extension/plugin-config.js.map +1 -1
  58. package/build/lib/grid-register.js +119 -137
  59. package/build/lib/grid-register.js.map +1 -1
  60. package/build/lib/logger.d.ts +1 -1
  61. package/build/lib/logger.d.ts.map +1 -1
  62. package/build/lib/logger.js +5 -15
  63. package/build/lib/logger.js.map +1 -1
  64. package/build/lib/logsink.d.ts.map +1 -1
  65. package/build/lib/logsink.js +189 -183
  66. package/build/lib/logsink.js.map +1 -1
  67. package/build/lib/main.d.ts +19 -12
  68. package/build/lib/main.d.ts.map +1 -1
  69. package/build/lib/main.js +330 -304
  70. package/build/lib/main.js.map +1 -1
  71. package/build/lib/schema/arg-spec.js +153 -108
  72. package/build/lib/schema/arg-spec.js.map +1 -1
  73. package/build/lib/schema/cli-args.js +203 -164
  74. package/build/lib/schema/cli-args.js.map +1 -1
  75. package/build/lib/schema/cli-transformers.js +117 -72
  76. package/build/lib/schema/cli-transformers.js.map +1 -1
  77. package/build/lib/schema/index.js +17 -32
  78. package/build/lib/schema/index.js.map +1 -1
  79. package/build/lib/schema/keywords.js +125 -67
  80. package/build/lib/schema/keywords.js.map +1 -1
  81. package/build/lib/schema/schema.d.ts.map +1 -1
  82. package/build/lib/schema/schema.js +582 -417
  83. package/build/lib/schema/schema.js.map +1 -1
  84. package/build/lib/utils.d.ts +41 -255
  85. package/build/lib/utils.d.ts.map +1 -1
  86. package/build/lib/utils.js +342 -193
  87. package/build/lib/utils.js.map +1 -1
  88. package/build/tsconfig.tsbuildinfo +1 -1
  89. package/build/types/cli.d.ts +45 -34
  90. package/build/types/cli.d.ts.map +1 -1
  91. package/build/types/cli.js +3 -0
  92. package/build/types/cli.js.map +1 -0
  93. package/build/types/index.d.ts +1 -2
  94. package/build/types/index.d.ts.map +1 -1
  95. package/build/types/index.js +19 -0
  96. package/build/types/index.js.map +1 -0
  97. package/build/types/manifest/base.d.ts +135 -0
  98. package/build/types/manifest/base.d.ts.map +1 -0
  99. package/build/types/manifest/base.js +3 -0
  100. package/build/types/manifest/base.js.map +1 -0
  101. package/build/types/manifest/index.d.ts +19 -0
  102. package/build/types/manifest/index.d.ts.map +1 -0
  103. package/build/types/manifest/index.js +40 -0
  104. package/build/types/manifest/index.js.map +1 -0
  105. package/build/types/manifest/v3.d.ts +139 -0
  106. package/build/types/manifest/v3.d.ts.map +1 -0
  107. package/build/types/manifest/v3.js +3 -0
  108. package/build/types/manifest/v3.js.map +1 -0
  109. package/lib/appium.js +1 -1
  110. package/lib/cli/args.js +1 -1
  111. package/lib/cli/extension-command.js +116 -61
  112. package/lib/cli/extension.js +9 -8
  113. package/lib/cli/parser.js +2 -2
  114. package/lib/config-file.js +2 -3
  115. package/lib/config.js +3 -2
  116. package/lib/constants.js +6 -5
  117. package/lib/extension/extension-config.js +24 -25
  118. package/lib/extension/manifest-migrations.js +99 -0
  119. package/lib/extension/manifest.js +79 -72
  120. package/lib/extension/plugin-config.js +1 -2
  121. package/lib/logsink.js +26 -5
  122. package/lib/main.js +58 -50
  123. package/lib/schema/schema.js +6 -1
  124. package/lib/utils.js +62 -0
  125. package/package.json +23 -24
  126. package/scripts/autoinstall-extensions.js +78 -26
  127. package/types/cli.ts +81 -42
  128. package/types/index.ts +1 -2
  129. package/types/manifest/README.md +30 -0
  130. package/types/manifest/base.ts +158 -0
  131. package/types/manifest/index.ts +27 -0
  132. package/types/manifest/v3.ts +161 -0
  133. package/build/types/appium-manifest.d.ts +0 -59
  134. package/build/types/appium-manifest.d.ts.map +0 -1
  135. package/build/types/extension-manifest.d.ts +0 -55
  136. package/build/types/extension-manifest.d.ts.map +0 -1
  137. package/types/appium-manifest.ts +0 -73
  138. package/types/extension-manifest.ts +0 -64
@@ -1,25 +1,42 @@
1
- import { ServerArgs } from '@appium/types';
2
- export declare type ServerSubcommand = 'server';
3
- export declare type DriverSubcommand = 'driver';
4
- export declare type PluginSubcommand = 'plugin';
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
- * Possible subcommands for the `appium` CLI.
8
+ * Extension-specific commands
7
9
  */
8
- export declare type CliSubcommand = ServerSubcommand | DriverSubcommand | PluginSubcommand;
10
+ export declare type CliExtensionCommand = DriverCommand | PluginCommand;
9
11
  /**
10
- * Possible subcommands of {@linkcode DriverSubcommand} or
11
- * {@linkcode PluginSubcommand}.
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 ServerSubcommand}.
37
+ * Possible subcommands. If empty, defaults to {@linkcode ServerCommand}.
21
38
  */
22
- subcommand?: CliSubcommand;
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 ExtArgs extends WithExtSubcommand {
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 having the `server` subcommand
109
+ * Args for extension commands; includes a subcommand
92
110
  */
93
- export interface WithServerSubcommand {
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<SArgs, T = WithServerSubcommand> = MoreArgs & ProgrammaticArgs & (T extends WithServerSubcommand ? SArgs : T extends WithExtSubcommand ? ExtArgs : never);
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<T = WithServerSubcommand> = CommonArgs<ServerArgs, T>;
119
+ export declare type ParsedArgs<Cmd extends CliCommand = ServerCommand, SubCmd extends CliExtensionSubcommand | void = void> = CommonArgs<Cmd, SubCmd>;
110
120
  /**
111
- * Partial arguments, as supplied by a user. _May_ have defaults applied; _may_ contain config values; _may_ contain computed args.
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<T = WithServerSubcommand> = CommonArgs<Partial<ServerArgs>, T>;
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
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../types/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,oBAAY,gBAAgB,GAAG,QAAQ,CAAC;AACxC,oBAAY,gBAAgB,GAAG,QAAQ,CAAC;AACxC,oBAAY,gBAAgB,GAAG,QAAQ,CAAC;AAExC;;GAEG;AACH,oBAAY,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAEnF;;;GAGG;AACH,oBAAY,sBAAsB,GAC9B,SAAS,GACT,MAAM,GACN,KAAK,GACL,WAAW,GACX,QAAQ,CAAC;AAEb;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAEtC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,iBAAiB;IAChD;;OAEG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAEvC;;OAEG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAC;IAEvC;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;CACjD;AAED;;GAEG;AACH,aAAK,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,oBAAoB,IAAI,QAAQ,GACzD,gBAAgB,GAChB,CAAC,CAAC,SAAS,oBAAoB,GAAG,KAAK,GAAG,CAAC,SAAS,iBAAiB,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;AAE3F;;GAEG;AACH,oBAAY,UAAU,CAAC,CAAC,GAAG,oBAAoB,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAE7E;;GAEG;AACH,oBAAY,IAAI,CAAC,CAAC,GAAG,oBAAoB,IAAI,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhF;;GAEG;AACH,oBAAY,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../types/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../types/cli.ts"],"names":[],"mappings":""}
@@ -1,7 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import { ExtensionType, DriverType, DriverClass, PluginType, PluginClass } from '@appium/types';
3
- export * from './appium-manifest';
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,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,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"}
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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=base.js.map
@@ -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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=v3.js.map
@@ -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 (!_.isEmpty(cliArgs)) {
309
+ if (!_.isUndefined(cliArgs)) {
310
310
  driverInstance.cliArgs = cliArgs;
311
311
  }
312
312
 
package/lib/cli/args.js CHANGED
@@ -269,7 +269,7 @@ const serverArgsDisallowedInConfig = new Map([
269
269
  ['--config'],
270
270
  {
271
271
  dest: 'configFile',
272
- type: 'string',
272
+ type: 'str',
273
273
  required: false,
274
274
  help: 'Explicit path to Appium configuration file',
275
275
  },