appium 2.0.0-beta.61 → 2.0.0-beta.63

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.
@@ -2,7 +2,7 @@ export type ExtensionType = import('@appium/types').ExtensionType;
2
2
  /**
3
3
  * A tuple of argument aliases and argument options
4
4
  */
5
- export type ArgumentDefinitions = Map<string[], import('argparse').ArgumentOptions>;
5
+ export type ArgumentDefinitions = Map<[name: string] | [name: string, alias: string], import('argparse').ArgumentOptions>;
6
6
  /**
7
7
  * Derives the options for the `server` command from the schema, and adds the arguments
8
8
  * which are disallowed in the config file.
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../lib/cli/args.js"],"names":[],"mappings":"4BAmSa,OAAO,eAAe,EAAE,aAAa;;;;kCAKrC,IAAI,MAAM,EAAE,EAAC,OAAO,UAAU,EAAE,eAAe,CAAC;AA/D7D;;;;GAIG;AACH,qDAEC;AAzMD;;GAEG;AACH,sLAcG"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../lib/cli/args.js"],"names":[],"mappings":"4BAmSa,OAAO,eAAe,EAAE,aAAa;;;;kCAKrC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAC,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,EAAC,OAAO,UAAU,EAAE,eAAe,CAAC;AA/DjG;;;;GAIG;AACH,qDAEC;AAzMD;;GAEG;AACH,sLAcG"}
@@ -269,6 +269,6 @@ const serverArgsDisallowedInConfig = new Map([
269
269
  */
270
270
  /**
271
271
  * A tuple of argument aliases and argument options
272
- * @typedef {Map<string[],import('argparse').ArgumentOptions>} ArgumentDefinitions
272
+ * @typedef {Map<[name: string]|[name: string, alias: string],import('argparse').ArgumentOptions>} ArgumentDefinitions
273
273
  */
274
274
  //# sourceMappingURL=args.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../lib/cli/parser.js"],"names":[],"mappings":"AASA,qCAAsC;yBA0QzB,OAAO,eAAe,EAAE,UAAU;yBAClC,OAAO,eAAe,EAAE,UAAU;AAjB/C;;;;;;GAMG;AACH,wDAFa,SAAS,CAMrB;AAzPD;;;;;;GAMG;AACH;IAqGE;;;;;;;;;OASG;IACH,kCAJW,MAAM,uCAEJ,MAAM,CAmBlB;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,QA4DtC;IAnOD;;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,yIAgCC;CAkIF"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../lib/cli/parser.js"],"names":[],"mappings":"AASA,qCAAsC;yBAqRzB,OAAO,eAAe,EAAE,UAAU;yBAClC,OAAO,eAAe,EAAE,UAAU;AAjB/C;;;;;;GAMG;AACH,wDAFa,SAAS,CAMrB;AApQD;;;;;;GAMG;AACH;IA4GE;;;;;;;;;OASG;IACH,kCAJW,MAAM,uCAEJ,MAAM,CAmBlB;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,QAgEtC;IA9OD;;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,yIAuCC;CAsIF"}
@@ -88,6 +88,14 @@ class ArgParser {
88
88
  try {
89
89
  const parsed = this.parser.parse_known_args(args);
90
90
  const [knownArgs, unknownArgs] = parsed;
91
+ // XXX: you'd think that argparse, when given an alias for a subcommand,
92
+ // would set this value to the original subcommand name, but it doesn't.
93
+ if (knownArgs?.driverCommand === 'ls') {
94
+ knownArgs.driverCommand = 'list';
95
+ }
96
+ else if (knownArgs?.pluginCommand === 'ls') {
97
+ knownArgs.pluginCommand = 'list';
98
+ }
91
99
  if (unknownArgs?.length &&
92
100
  (knownArgs.driverCommand === 'run' || knownArgs.pluginCommand === 'run')) {
93
101
  return ArgParser._transformParsedArgs(knownArgs, unknownArgs);
@@ -184,13 +192,14 @@ class ArgParser {
184
192
  });
185
193
  const extensionArgs = (0, args_1.getExtensionArgs)();
186
194
  /**
187
- * @type { {command: import('appium/types').CliExtensionSubcommand, args: import('./args').ArgumentDefinitions, help: string}[] }
195
+ * @type { {command: import('appium/types').CliExtensionSubcommand, args: import('./args').ArgumentDefinitions, help: string, aliases?: import('argparse').SubArgumentParserOptions['aliases']}[] }
188
196
  */
189
197
  const parserSpecs = [
190
198
  {
191
199
  command: 'list',
192
200
  args: extensionArgs[type].list,
193
201
  help: `List available and installed ${type}s`,
202
+ aliases: ['ls'],
194
203
  },
195
204
  {
196
205
  command: 'install',
@@ -214,13 +223,17 @@ class ArgParser {
214
223
  `“scripts” field inside the “appium” field) from an installed ${type}`,
215
224
  },
216
225
  ];
217
- for (const { command, args, help } of parserSpecs) {
218
- const parser = extSubParsers.add_parser(command, { help });
226
+ for (const { command, args, help, aliases } of parserSpecs) {
227
+ const parser = extSubParsers.add_parser(command, { help, aliases: aliases ?? [] });
219
228
  ArgParser._patchExit(parser);
220
229
  for (const [flagsOrNames, opts] of args) {
221
230
  // add_argument mutates params so make sure to send in copies instead
222
- // @ts-ignore
223
- parser.add_argument(...flagsOrNames, { ...opts });
231
+ if (flagsOrNames.length === 2) {
232
+ parser.add_argument(flagsOrNames[0], flagsOrNames[1], { ...opts });
233
+ }
234
+ else {
235
+ parser.add_argument(flagsOrNames[0], { ...opts });
236
+ }
224
237
  }
225
238
  }
226
239
  }
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../lib/cli/parser.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../lib/cli/parser.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../lib/main.js"],"names":[],"mappings":";;yBAsYa,OAAO,eAAe,EAAE,UAAU;yBAClC,OAAO,eAAe,EAAE,UAAU;0BAClC,OAAO,eAAe,EAAE,WAAW;0BACnC,OAAO,eAAe,EAAE,WAAW;yBACnC,OAAO,cAAc,EAAE,UAAU;qCACjC,OAAO,cAAc,EAAE,sBAAsB;kCAC7C,OAAO,cAAc,EAAE,mBAAmB;4BAC1C,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,aAAa,EAAE,aAAa;4BACnC,OAAO,aAAa,EAAE,aAAa;;;;mCAKlC,EAAE;;;;;kBAKF,OAAO,UAAU,EAAE,YAAY;;;;gBAC/B,OAAO,cAAc,EAAE,UAAU;;wEAKlC,GAAG,SAAS,aAAa,GAAG,cAAc,GAAG,OAAO,aAAa,EAAE,gBAAgB,GAAG,oBAAoB;yJAM1G,OAAO,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;+JAMxC,OAAO,cAAc,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;AApK3D;;;;;;;GAOG;AACH,qSAsGC;AA3OD;;;;;;;;;;;;;;;;GAgBG;AACH,kPA0GC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../lib/main.js"],"names":[],"mappings":";;yBA4ba,OAAO,eAAe,EAAE,UAAU;yBAClC,OAAO,eAAe,EAAE,UAAU;0BAClC,OAAO,eAAe,EAAE,WAAW;0BACnC,OAAO,eAAe,EAAE,WAAW;yBACnC,OAAO,cAAc,EAAE,UAAU;qCACjC,OAAO,cAAc,EAAE,sBAAsB;kCAC7C,OAAO,cAAc,EAAE,mBAAmB;4BAC1C,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,cAAc,EAAE,gBAAgB;4BACvC,OAAO,aAAa,EAAE,aAAa;4BACnC,OAAO,aAAa,EAAE,aAAa;;;;mCAKlC,EAAE;;;;;kBAKF,OAAO,UAAU,EAAE,YAAY;;;;gBAC/B,OAAO,cAAc,EAAE,UAAU;;wEAKlC,GAAG,SAAS,aAAa,GAAG,cAAc,GAAG,OAAO,aAAa,EAAE,gBAAgB,GAAG,oBAAoB;yJAM1G,OAAO,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;+JAMxC,OAAO,cAAc,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;AApK3D;;;;;;;GAOG;AACH,qSAsGC;AAlPD;;;;;;;;;;;;;;;;GAgBG;AACH,kPAiHC"}
package/build/lib/main.js CHANGED
@@ -21,6 +21,7 @@ const constants_1 = require("./constants");
21
21
  const grid_register_1 = __importDefault(require("./grid-register"));
22
22
  const schema_1 = require("./schema/schema");
23
23
  const utils_1 = require("./utils");
24
+ const node_os_1 = __importDefault(require("node:os"));
24
25
  const { resolveAppiumHome } = support_1.env;
25
26
  exports.resolveAppiumHome = resolveAppiumHome;
26
27
  /**
@@ -112,6 +113,47 @@ function getExtraMethodMap(driverClasses, pluginClasses) {
112
113
  ...(klass.newMethodMap ?? {}),
113
114
  }), {});
114
115
  }
116
+ /**
117
+ * Prepares and validates appium home path folder
118
+ *
119
+ * @param {string} name The name of the appium home source (needed for error messages)
120
+ * @param {string} appiumHome The actual value to be verified
121
+ * @returns {Promise<string>} Same appiumHome value
122
+ * @throws {Error} If the validation has failed
123
+ */
124
+ async function prepareAppiumHome(name, appiumHome) {
125
+ let stat;
126
+ try {
127
+ stat = await support_1.fs.stat(appiumHome);
128
+ }
129
+ catch (e) {
130
+ let err = e;
131
+ if (e.code === 'ENOENT') {
132
+ try {
133
+ await support_1.fs.mkdir(appiumHome, { recursive: true });
134
+ return appiumHome;
135
+ }
136
+ catch (e1) {
137
+ err = e1;
138
+ }
139
+ }
140
+ throw new Error(`The path '${appiumHome}' provided in the ${name} must point ` +
141
+ `to a valid folder writeable for the current user account '${node_os_1.default.userInfo().username}'. ` +
142
+ `Original error: ${err.message}`);
143
+ }
144
+ if (!stat.isDirectory()) {
145
+ throw new Error(`The path '${appiumHome}' provided in the ${name} must point to a valid folder`);
146
+ }
147
+ try {
148
+ await support_1.fs.access(appiumHome, support_1.fs.constants.W_OK);
149
+ }
150
+ catch (e) {
151
+ throw new Error(`The folder path '${appiumHome}' provided in the ${name} must be ` +
152
+ `writeable for the current user account '${node_os_1.default.userInfo().username}. ` +
153
+ `Original error: ${e.message}`);
154
+ }
155
+ return appiumHome;
156
+ }
115
157
  /**
116
158
  * Initializes Appium, but does not start the server.
117
159
  *
@@ -131,6 +173,14 @@ function getExtraMethodMap(driverClasses, pluginClasses) {
131
173
  */
132
174
  async function init(args) {
133
175
  const appiumHome = args?.appiumHome ?? (await resolveAppiumHome());
176
+ let appiumHomeSourceName = 'autodetected appium home path';
177
+ if (!lodash_1.default.isNil(args?.appiumHome)) {
178
+ appiumHomeSourceName = 'appiumHome config value';
179
+ }
180
+ else if (process.env.APPIUM_HOME) {
181
+ appiumHomeSourceName = 'APPIUM_HOME environment variable';
182
+ }
183
+ await prepareAppiumHome(appiumHomeSourceName, appiumHome);
134
184
  (0, utils_1.adjustNodePath)();
135
185
  const { driverConfig, pluginConfig } = await (0, extension_2.loadExtensions)(appiumHome);
136
186
  const parser = (0, parser_1.getParser)();
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../lib/main.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../lib/main.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-args.d.ts","sourceRoot":"","sources":["../../../lib/schema/cli-args.js"],"names":[],"mappings":"AAoNA;;;;;;;GAOG;AACH,gCAHa,OAAO,aAAa,EAAE,mBAAmB,CAMrD;;;;yDAIY,OAAO,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;;;;+BAK3C,OAAO,YAAY,EAAE,wBAAwB,GAAG,OAAO,aAAa,EAAE,WAAW"}
1
+ {"version":3,"file":"cli-args.d.ts","sourceRoot":"","sources":["../../../lib/schema/cli-args.js"],"names":[],"mappings":"AAuNA;;;;;;;GAOG;AACH,gCAHa,OAAO,aAAa,EAAE,mBAAmB,CAMrD;;;;yDAIY,OAAO,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;;;;+BAK3C,OAAO,YAAY,EAAE,wBAAwB,GAAG,OAAO,aAAa,EAAE,WAAW"}
@@ -92,7 +92,7 @@ function makeDescription(schema) {
92
92
  * as understood by `argparse`.
93
93
  * @param {AppiumJSONSchema} subSchema - JSON schema for the option
94
94
  * @param {ArgSpec} argSpec - Argument spec tuple
95
- * @returns {[string[], import('argparse').ArgumentOptions]} Tuple of flag and options
95
+ * @returns {[[string]|[string, string], import('argparse').ArgumentOptions]} Tuple of flag and options
96
96
  */
97
97
  function subSchemaToArgDef(subSchema, argSpec) {
98
98
  let { type, appiumCliAliases, appiumCliTransformer, enum: enumValues } = subSchema;
@@ -188,7 +188,10 @@ function subSchemaToArgDef(subSchema, argSpec) {
188
188
  throw new TypeError(`Problem with schema for ${arg}; \`enum\` is only supported for \`type: 'string'\``);
189
189
  }
190
190
  }
191
- return [aliases, argOpts];
191
+ // TODO: argparse only accepts the command name and a single alias; any extra aliases
192
+ // will be silently discarded.
193
+ const finalAliases = /** @type {[string]|[string, string]} */ (aliases);
194
+ return [finalAliases, argOpts];
192
195
  }
193
196
  /**
194
197
  * Converts the finalized, flattened schema representation into
@@ -1 +1 @@
1
- {"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../../../lib/schema/cli-args.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../../../lib/schema/cli-args.js"],"names":[],"mappings":"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"}
package/lib/cli/args.js CHANGED
@@ -294,5 +294,5 @@ export {getServerArgs, getExtensionArgs};
294
294
 
295
295
  /**
296
296
  * A tuple of argument aliases and argument options
297
- * @typedef {Map<string[],import('argparse').ArgumentOptions>} ArgumentDefinitions
297
+ * @typedef {Map<[name: string]|[name: string, alias: string],import('argparse').ArgumentOptions>} ArgumentDefinitions
298
298
  */
package/lib/cli/parser.js CHANGED
@@ -101,6 +101,13 @@ class ArgParser {
101
101
  try {
102
102
  const parsed = this.parser.parse_known_args(args);
103
103
  const [knownArgs, unknownArgs] = parsed;
104
+ // XXX: you'd think that argparse, when given an alias for a subcommand,
105
+ // would set this value to the original subcommand name, but it doesn't.
106
+ if (knownArgs?.driverCommand === 'ls') {
107
+ knownArgs.driverCommand = 'list';
108
+ } else if (knownArgs?.pluginCommand === 'ls') {
109
+ knownArgs.pluginCommand = 'list';
110
+ }
104
111
  if (
105
112
  unknownArgs?.length &&
106
113
  (knownArgs.driverCommand === 'run' || knownArgs.pluginCommand === 'run')
@@ -210,13 +217,14 @@ class ArgParser {
210
217
  });
211
218
  const extensionArgs = getExtensionArgs();
212
219
  /**
213
- * @type { {command: import('appium/types').CliExtensionSubcommand, args: import('./args').ArgumentDefinitions, help: string}[] }
220
+ * @type { {command: import('appium/types').CliExtensionSubcommand, args: import('./args').ArgumentDefinitions, help: string, aliases?: import('argparse').SubArgumentParserOptions['aliases']}[] }
214
221
  */
215
222
  const parserSpecs = [
216
223
  {
217
224
  command: 'list',
218
225
  args: extensionArgs[type].list,
219
226
  help: `List available and installed ${type}s`,
227
+ aliases: ['ls'],
220
228
  },
221
229
  {
222
230
  command: 'install',
@@ -242,15 +250,18 @@ class ArgParser {
242
250
  },
243
251
  ];
244
252
 
245
- for (const {command, args, help} of parserSpecs) {
246
- const parser = extSubParsers.add_parser(command, {help});
253
+ for (const {command, args, help, aliases} of parserSpecs) {
254
+ const parser = extSubParsers.add_parser(command, {help, aliases: aliases ?? []});
247
255
 
248
256
  ArgParser._patchExit(parser);
249
257
 
250
258
  for (const [flagsOrNames, opts] of args) {
251
259
  // add_argument mutates params so make sure to send in copies instead
252
- // @ts-ignore
253
- parser.add_argument(...flagsOrNames, {...opts});
260
+ if (flagsOrNames.length === 2) {
261
+ parser.add_argument(flagsOrNames[0], flagsOrNames[1], {...opts});
262
+ } else {
263
+ parser.add_argument(flagsOrNames[0], {...opts});
264
+ }
254
265
  }
255
266
  }
256
267
  }
package/lib/main.js CHANGED
@@ -3,7 +3,7 @@
3
3
  import {init as logsinkInit} from './logsink'; // this import needs to come first since it sets up global npmlog
4
4
  import logger from './logger'; // logger needs to remain second
5
5
  import {routeConfiguringFunction as makeRouter, server as baseServer} from '@appium/base-driver';
6
- import {logger as logFactory, util, env} from '@appium/support';
6
+ import {logger as logFactory, util, env, fs} from '@appium/support';
7
7
  import {asyncify} from 'asyncbox';
8
8
  import _ from 'lodash';
9
9
  import {AppiumDriver} from './appium';
@@ -33,6 +33,7 @@ import {
33
33
  isPluginCommandArgs,
34
34
  isServerCommandArgs,
35
35
  } from './utils';
36
+ import os from 'node:os';
36
37
 
37
38
  const {resolveAppiumHome} = env;
38
39
 
@@ -138,6 +139,52 @@ function getExtraMethodMap(driverClasses, pluginClasses) {
138
139
  {}
139
140
  );
140
141
  }
142
+
143
+ /**
144
+ * Prepares and validates appium home path folder
145
+ *
146
+ * @param {string} name The name of the appium home source (needed for error messages)
147
+ * @param {string} appiumHome The actual value to be verified
148
+ * @returns {Promise<string>} Same appiumHome value
149
+ * @throws {Error} If the validation has failed
150
+ */
151
+ async function prepareAppiumHome(name, appiumHome) {
152
+ let stat;
153
+ try {
154
+ stat = await fs.stat(appiumHome);
155
+ } catch (e) {
156
+ let err = e;
157
+ if (e.code === 'ENOENT') {
158
+ try {
159
+ await fs.mkdir(appiumHome, {recursive: true});
160
+ return appiumHome;
161
+ } catch (e1) {
162
+ err = e1;
163
+ }
164
+ }
165
+ throw new Error(
166
+ `The path '${appiumHome}' provided in the ${name} must point ` +
167
+ `to a valid folder writeable for the current user account '${os.userInfo().username}'. ` +
168
+ `Original error: ${err.message}`
169
+ );
170
+ }
171
+ if (!stat.isDirectory()) {
172
+ throw new Error(
173
+ `The path '${appiumHome}' provided in the ${name} must point to a valid folder`
174
+ );
175
+ }
176
+ try {
177
+ await fs.access(appiumHome, fs.constants.W_OK);
178
+ } catch (e) {
179
+ throw new Error(
180
+ `The folder path '${appiumHome}' provided in the ${name} must be ` +
181
+ `writeable for the current user account '${os.userInfo().username}. ` +
182
+ `Original error: ${e.message}`
183
+ );
184
+ }
185
+ return appiumHome;
186
+ }
187
+
141
188
  /**
142
189
  * Initializes Appium, but does not start the server.
143
190
  *
@@ -157,6 +204,13 @@ function getExtraMethodMap(driverClasses, pluginClasses) {
157
204
  */
158
205
  async function init(args) {
159
206
  const appiumHome = args?.appiumHome ?? (await resolveAppiumHome());
207
+ let appiumHomeSourceName = 'autodetected appium home path';
208
+ if (!_.isNil(args?.appiumHome)) {
209
+ appiumHomeSourceName = 'appiumHome config value';
210
+ } else if (process.env.APPIUM_HOME) {
211
+ appiumHomeSourceName = 'APPIUM_HOME environment variable';
212
+ }
213
+ await prepareAppiumHome(appiumHomeSourceName, appiumHome);
160
214
 
161
215
  adjustNodePath();
162
216
 
@@ -94,7 +94,7 @@ function makeDescription(schema) {
94
94
  * as understood by `argparse`.
95
95
  * @param {AppiumJSONSchema} subSchema - JSON schema for the option
96
96
  * @param {ArgSpec} argSpec - Argument spec tuple
97
- * @returns {[string[], import('argparse').ArgumentOptions]} Tuple of flag and options
97
+ * @returns {[[string]|[string, string], import('argparse').ArgumentOptions]} Tuple of flag and options
98
98
  */
99
99
  function subSchemaToArgDef(subSchema, argSpec) {
100
100
  let {type, appiumCliAliases, appiumCliTransformer, enum: enumValues} = subSchema;
@@ -207,7 +207,10 @@ function subSchemaToArgDef(subSchema, argSpec) {
207
207
  }
208
208
  }
209
209
 
210
- return [aliases, argOpts];
210
+ // TODO: argparse only accepts the command name and a single alias; any extra aliases
211
+ // will be silently discarded.
212
+ const finalAliases = /** @type {[string]|[string, string]} */ (aliases);
213
+ return [finalAliases, argOpts];
211
214
  }
212
215
 
213
216
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium",
3
- "version": "2.0.0-beta.61",
3
+ "version": "2.0.0-beta.63",
4
4
  "description": "Automation for Apps.",
5
5
  "keywords": [
6
6
  "automation",
@@ -60,12 +60,12 @@
60
60
  "test:unit": "mocha \"./test/unit/**/*.spec.js\""
61
61
  },
62
62
  "dependencies": {
63
- "@appium/base-driver": "^9.3.5",
64
- "@appium/base-plugin": "^2.2.5",
65
- "@appium/docutils": "^0.3.4",
63
+ "@appium/base-driver": "^9.3.6",
64
+ "@appium/base-plugin": "^2.2.6",
65
+ "@appium/docutils": "^0.3.6",
66
66
  "@appium/schema": "^0.2.6",
67
- "@appium/support": "^3.1.9",
68
- "@appium/types": "^0.10.3",
67
+ "@appium/support": "^3.1.10",
68
+ "@appium/types": "^0.10.4",
69
69
  "@sidvind/better-ajv-errors": "2.1.0",
70
70
  "@types/argparse": "2.0.10",
71
71
  "@types/bluebird": "3.5.38",
@@ -78,7 +78,7 @@
78
78
  "argparse": "2.0.1",
79
79
  "async-lock": "1.4.0",
80
80
  "asyncbox": "2.9.4",
81
- "axios": "1.3.4",
81
+ "axios": "1.3.5",
82
82
  "bluebird": "3.7.2",
83
83
  "cross-env": "7.0.3",
84
84
  "find-up": "5.0.0",
@@ -92,7 +92,7 @@
92
92
  "semver": "7.3.8",
93
93
  "source-map-support": "0.5.21",
94
94
  "teen_process": "2.0.2",
95
- "type-fest": "3.7.2",
95
+ "type-fest": "3.8.0",
96
96
  "winston": "3.8.2",
97
97
  "wrap-ansi": "7.0.0",
98
98
  "yaml": "2.2.1"
@@ -105,7 +105,7 @@
105
105
  "access": "public",
106
106
  "tag": "next"
107
107
  },
108
- "gitHead": "591d15bc5e65383f824fc8eaa5f2814266a34df4",
108
+ "gitHead": "a9a6b834bcf1369fb42847bf44443d36b7d6ea79",
109
109
  "typedoc": {
110
110
  "entryPoint": "./lib/main.js"
111
111
  }