appium 3.1.2 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/README.md +4 -4
  2. package/build/lib/appium.d.ts +2 -2
  3. package/build/lib/appium.d.ts.map +1 -1
  4. package/build/lib/appium.js +5 -7
  5. package/build/lib/appium.js.map +1 -1
  6. package/build/lib/bidi-commands.d.ts +1 -1
  7. package/build/lib/bidi-commands.d.ts.map +1 -1
  8. package/build/lib/bidi-commands.js.map +1 -1
  9. package/build/lib/cli/extension-command.d.ts +109 -0
  10. package/build/lib/cli/extension-command.d.ts.map +1 -1
  11. package/build/lib/cli/extension-command.js +255 -96
  12. package/build/lib/cli/extension-command.js.map +1 -1
  13. package/build/lib/cli/parser.d.ts +10 -0
  14. package/build/lib/cli/parser.d.ts.map +1 -1
  15. package/build/lib/cli/parser.js +20 -2
  16. package/build/lib/cli/parser.js.map +1 -1
  17. package/build/lib/constants.js +3 -3
  18. package/build/lib/constants.js.map +1 -1
  19. package/build/lib/extension/extension-config.js +7 -7
  20. package/build/lib/extension/extension-config.js.map +1 -1
  21. package/build/lib/extension/manifest.js +6 -6
  22. package/build/lib/extension/manifest.js.map +1 -1
  23. package/build/lib/extension/package-changed.js +3 -3
  24. package/build/lib/extension/package-changed.js.map +1 -1
  25. package/build/lib/inspector-commands.d.ts.map +1 -1
  26. package/build/lib/logger.d.ts +1 -1
  27. package/build/lib/logger.d.ts.map +1 -1
  28. package/build/lib/logsink.d.ts.map +1 -1
  29. package/build/lib/logsink.js +9 -7
  30. package/build/lib/logsink.js.map +1 -1
  31. package/build/lib/main.d.ts.map +1 -1
  32. package/build/lib/main.js +11 -2
  33. package/build/lib/main.js.map +1 -1
  34. package/build/lib/schema/cli-args.d.ts.map +1 -1
  35. package/build/lib/schema/cli-args.js +5 -0
  36. package/build/lib/schema/cli-args.js.map +1 -1
  37. package/build/lib/schema/cli-transformers.js +5 -5
  38. package/build/lib/schema/cli-transformers.js.map +1 -1
  39. package/build/lib/schema/schema.js +2 -2
  40. package/build/lib/schema/schema.js.map +1 -1
  41. package/build/lib/utils.d.ts +1 -1
  42. package/build/lib/utils.d.ts.map +1 -1
  43. package/build/lib/utils.js +8 -8
  44. package/build/lib/utils.js.map +1 -1
  45. package/build/package.json +99 -0
  46. package/build/types/cli.d.ts +3 -3
  47. package/build/types/cli.d.ts.map +1 -1
  48. package/build/types/index.d.ts +1 -1
  49. package/build/types/index.d.ts.map +1 -1
  50. package/build/types/manifest/base.d.ts +3 -3
  51. package/build/types/manifest/base.d.ts.map +1 -1
  52. package/build/types/manifest/v3.d.ts +3 -3
  53. package/build/types/manifest/v3.d.ts.map +1 -1
  54. package/build/types/manifest/v4.d.ts +3 -3
  55. package/build/types/manifest/v4.d.ts.map +1 -1
  56. package/index.js +1 -3
  57. package/lib/appium.js +5 -7
  58. package/lib/bidi-commands.ts +4 -6
  59. package/lib/cli/extension-command.js +283 -105
  60. package/lib/cli/parser.js +21 -2
  61. package/lib/constants.js +1 -1
  62. package/lib/extension/extension-config.js +2 -2
  63. package/lib/extension/manifest.js +1 -1
  64. package/lib/extension/package-changed.js +1 -1
  65. package/lib/inspector-commands.ts +1 -1
  66. package/lib/logsink.js +11 -7
  67. package/lib/main.js +13 -3
  68. package/lib/schema/cli-args.js +6 -0
  69. package/lib/schema/cli-transformers.js +1 -1
  70. package/lib/schema/schema.js +1 -1
  71. package/lib/utils.js +3 -3
  72. package/package.json +22 -24
  73. package/scripts/autoinstall-extensions.js +7 -10
  74. package/tsconfig.json +5 -2
  75. package/types/cli.ts +4 -4
  76. package/types/index.ts +1 -1
  77. package/types/manifest/base.ts +3 -3
  78. package/types/manifest/v3.ts +3 -3
  79. package/types/manifest/v4.ts +3 -3
@@ -37,21 +37,23 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.ExtensionCommand = void 0;
40
+ exports.injectAppiumSymlinks = injectAppiumSymlinks;
40
41
  const bluebird_1 = __importDefault(require("bluebird"));
41
42
  const lodash_1 = __importDefault(require("lodash"));
42
- const path_1 = __importDefault(require("path"));
43
+ const node_path_1 = __importDefault(require("node:path"));
43
44
  const support_1 = require("@appium/support");
44
45
  const utils_1 = require("./utils");
45
46
  const extension_config_1 = require("../extension/extension-config");
46
47
  const teen_process_1 = require("teen_process");
47
48
  const package_changed_1 = require("../extension/package-changed");
48
- const child_process_1 = require("child_process");
49
+ const node_child_process_1 = require("node:child_process");
49
50
  const node_util_1 = require("node:util");
50
- const url_1 = require("url");
51
+ const node_url_1 = require("node:url");
51
52
  const doctor_1 = require("../doctor/doctor");
52
53
  const utils_2 = require("../utils");
53
54
  const semver = __importStar(require("semver"));
54
55
  const UPDATE_ALL = 'installed';
56
+ const MAX_CONCURRENT_REPO_FETCHES = 5;
55
57
  class NotUpdatableError extends Error {
56
58
  }
57
59
  class NoUpdatesAvailableError extends Error {
@@ -118,6 +120,7 @@ class ExtensionCliCommand {
118
120
  * For TS to understand that a function throws an exception, it must actually throw an exception--
119
121
  * in other words, _calling_ a function which is guaranteed to throw an exception is not enough--
120
122
  * nor is something like `@returns {never}` which does not imply a thrown exception.
123
+ *
121
124
  * @param {string} message
122
125
  * @protected
123
126
  * @throws {Error}
@@ -141,18 +144,39 @@ class ExtensionCliCommand {
141
144
  }
142
145
  /**
143
146
  * List extensions
147
+ *
144
148
  * @template {ExtensionType} ExtType
145
149
  * @param {ListOptions} opts
146
150
  * @return {Promise<ExtensionList<ExtType>>} map of extension names to extension data
147
151
  */
148
152
  async list({ showInstalled, showUpdates, verbose = false }) {
149
- let lsMsg = `Listing ${showInstalled ? 'installed' : 'available'} ${this.type}s`;
153
+ const listData = this._buildListData(showInstalled);
154
+ const lsMsg = `Listing ${showInstalled ? 'installed' : 'available'} ${this.type}s` +
155
+ (verbose ? ' (verbose mode)' : ' (rerun with --verbose for more info)');
156
+ await this._checkForUpdates(listData, showUpdates, lsMsg);
157
+ if (this.isJsonOutput) {
158
+ await this._addRepositoryUrlsToListData(listData);
159
+ return listData;
160
+ }
150
161
  if (verbose) {
151
- lsMsg += ' (verbose mode)';
162
+ await this._addRepositoryUrlsToListData(listData);
163
+ this.log.log((0, node_util_1.inspect)(listData, { colors: true, depth: null }));
164
+ return listData;
152
165
  }
166
+ return await this._displayNormalListOutput(listData, showUpdates);
167
+ }
168
+ /**
169
+ * Build the initial list data structure from installed and known extensions
170
+ *
171
+ * @template {ExtensionType} ExtType
172
+ * @param {boolean} showInstalled
173
+ * @returns {ExtensionList<ExtType>}
174
+ * @private
175
+ */
176
+ _buildListData(showInstalled) {
153
177
  const installedNames = Object.keys(this.config.installedExtensions);
154
178
  const knownNames = Object.keys(this.knownExtensions);
155
- const listData = [...installedNames, ...knownNames].reduce((acc, name) => {
179
+ return [...installedNames, ...knownNames].reduce((acc, name) => {
156
180
  if (!acc[name]) {
157
181
  if (installedNames.includes(name)) {
158
182
  acc[name] = {
@@ -169,17 +193,26 @@ class ExtensionCliCommand {
169
193
  }
170
194
  return acc;
171
195
  }, /** @type {ExtensionList<ExtType>} */ ({}));
172
- // if we want to show whether updates are available, put that behind a spinner
196
+ }
197
+ /**
198
+ * Check for available updates for installed extensions
199
+ *
200
+ * @template {ExtensionType} ExtType
201
+ * @param {ExtensionList<ExtType>} listData
202
+ * @param {boolean} showUpdates
203
+ * @param {string} lsMsg
204
+ * @returns {Promise<void>}
205
+ * @private
206
+ */
207
+ async _checkForUpdates(listData, showUpdates, lsMsg) {
173
208
  await (0, utils_1.spinWith)(this.isJsonOutput, lsMsg, async () => {
209
+ // We'd like to still show lsMsg even if showUpdates is false
174
210
  if (!showUpdates) {
175
211
  return;
176
212
  }
177
- for (const [ext, data] of lodash_1.default.toPairs(listData)) {
178
- if (!data.installed || data.installType !== extension_config_1.INSTALL_TYPE_NPM) {
179
- // don't need to check for updates on exts that aren't installed
180
- // also don't need to check for updates on non-npm exts
181
- continue;
182
- }
213
+ // Filter to only extensions that need update checks (installed npm packages)
214
+ const extensionsToCheck = lodash_1.default.toPairs(listData).filter(([, data]) => data.installed && data.installType === extension_config_1.INSTALL_TYPE_NPM);
215
+ await bluebird_1.default.map(extensionsToCheck, async ([ext, data]) => {
183
216
  try {
184
217
  const updates = await this.checkForExtensionUpdate(ext);
185
218
  data.updateVersion = updates.safeUpdate;
@@ -189,66 +222,184 @@ class ExtensionCliCommand {
189
222
  catch (e) {
190
223
  data.updateError = e.message;
191
224
  }
192
- }
225
+ }, { concurrency: MAX_CONCURRENT_REPO_FETCHES });
193
226
  });
194
- /**
195
- * Type guard to narrow "installed" extensions, which have more data
196
- * @param {any} data
197
- * @returns {data is InstalledExtensionListData<ExtType>}
198
- */
199
- const extIsInstalled = (data) => Boolean(data.installed);
200
- // if we're just getting the data, short circuit return here since we don't need to do any
201
- // formatting logic
202
- if (this.isJsonOutput) {
203
- return listData;
227
+ }
228
+ /**
229
+ * Add repository URLs to list data for all extensions
230
+ *
231
+ * @template {ExtensionType} ExtType
232
+ * @param {ExtensionList<ExtType>} listData
233
+ * @returns {Promise<void>}
234
+ * @private
235
+ */
236
+ async _addRepositoryUrlsToListData(listData) {
237
+ await (0, utils_1.spinWith)(this.isJsonOutput, 'Fetching repository information', async () => {
238
+ await bluebird_1.default.map(lodash_1.default.values(listData), async (data) => {
239
+ const repoUrl = await this._getRepositoryUrl(data);
240
+ if (repoUrl) {
241
+ data.repositoryUrl = repoUrl;
242
+ }
243
+ }, { concurrency: MAX_CONCURRENT_REPO_FETCHES });
244
+ });
245
+ }
246
+ /**
247
+ * Display normal formatted output
248
+ *
249
+ * @template {ExtensionType} ExtType
250
+ * @param {ExtensionList<ExtType>} listData
251
+ * @param {boolean} showUpdates
252
+ * @returns {Promise<ExtensionList<ExtType>>}
253
+ * @private
254
+ */
255
+ async _displayNormalListOutput(listData, showUpdates) {
256
+ for (const [name, data] of lodash_1.default.toPairs(listData)) {
257
+ const line = await this._formatExtensionLine(name, data, showUpdates);
258
+ this.log.log(line);
204
259
  }
205
- if (verbose) {
206
- this.log.log((0, node_util_1.inspect)(listData, { colors: true, depth: null }));
207
- return listData;
260
+ return listData;
261
+ }
262
+ /**
263
+ * Format a single extension line for display
264
+ *
265
+ * @template {ExtensionType} ExtType
266
+ * @param {string} name
267
+ * @param {ExtensionListData<ExtType>} data
268
+ * @param {boolean} showUpdates
269
+ * @returns {Promise<string>}
270
+ * @private
271
+ */
272
+ async _formatExtensionLine(name, data, showUpdates) {
273
+ if (data.installed) {
274
+ const installTxt = this._formatInstallText(/** @type {InstalledExtensionListData<ExtType>} */ (data));
275
+ const updateTxt = showUpdates ? this._formatUpdateText(/** @type {InstalledExtensionListData<ExtType>} */ (data)) : '';
276
+ return `- ${name.yellow}${installTxt}${updateTxt}`;
208
277
  }
209
- for (const [name, data] of lodash_1.default.toPairs(listData)) {
210
- let installTxt = ' [not installed]'.grey;
211
- let updateTxt = '';
212
- let upToDateTxt = '';
213
- let unsafeUpdateTxt = '';
214
- if (extIsInstalled(data)) {
215
- const { installType, installSpec, updateVersion, unsafeUpdateVersion, version, upToDate, updateError, } = data;
216
- let typeTxt;
217
- switch (installType) {
218
- case extension_config_1.INSTALL_TYPE_GIT:
219
- case extension_config_1.INSTALL_TYPE_GITHUB:
220
- typeTxt = `(cloned from ${installSpec})`.yellow;
221
- break;
222
- case extension_config_1.INSTALL_TYPE_LOCAL:
223
- typeTxt = `(linked from ${installSpec})`.magenta;
224
- break;
225
- case extension_config_1.INSTALL_TYPE_DEV:
226
- typeTxt = '(dev mode)';
227
- break;
228
- default:
229
- typeTxt = '(npm)';
230
- }
231
- installTxt = `@${version.yellow} ${('[installed ' + typeTxt + ']').green}`;
232
- if (showUpdates) {
233
- if (updateError) {
234
- updateTxt = ` [Cannot check for updates: ${updateError}]`.red;
278
+ const installTxt = ' [not installed]'.grey;
279
+ return `- ${name.yellow}${installTxt}`;
280
+ }
281
+ /**
282
+ * Format installation status text
283
+ *
284
+ * @template {ExtensionType} ExtType
285
+ * @param {InstalledExtensionListData<ExtType>} data
286
+ * @returns {string}
287
+ * @private
288
+ */
289
+ _formatInstallText(data) {
290
+ const { installType, installSpec, version } = data;
291
+ let typeTxt;
292
+ switch (installType) {
293
+ case extension_config_1.INSTALL_TYPE_GIT:
294
+ case extension_config_1.INSTALL_TYPE_GITHUB:
295
+ typeTxt = `(cloned from ${installSpec})`.yellow;
296
+ break;
297
+ case extension_config_1.INSTALL_TYPE_LOCAL:
298
+ typeTxt = `(linked from ${installSpec})`.magenta;
299
+ break;
300
+ case extension_config_1.INSTALL_TYPE_DEV:
301
+ typeTxt = '(dev mode)';
302
+ break;
303
+ default:
304
+ typeTxt = '(npm)';
305
+ }
306
+ return `@${version.yellow} ${('[installed ' + typeTxt + ']').green}`;
307
+ }
308
+ /**
309
+ * Format update information text
310
+ *
311
+ * @template {ExtensionType} ExtType
312
+ * @param {InstalledExtensionListData<ExtType>} data
313
+ * @returns {string}
314
+ * @private
315
+ */
316
+ _formatUpdateText(data) {
317
+ const { updateVersion, unsafeUpdateVersion, upToDate, updateError } = data;
318
+ if (updateError) {
319
+ return ` [Cannot check for updates: ${updateError}]`.red;
320
+ }
321
+ let txt = '';
322
+ if (updateVersion) {
323
+ txt += ` [${updateVersion} available]`.magenta;
324
+ }
325
+ if (upToDate) {
326
+ txt += ` [Up to date]`.green;
327
+ }
328
+ if (unsafeUpdateVersion) {
329
+ txt += ` [${unsafeUpdateVersion} available (potentially unsafe)]`.cyan;
330
+ }
331
+ return txt;
332
+ }
333
+ /**
334
+ * Get repository URL from package data
335
+ *
336
+ * @template {ExtensionType} ExtType
337
+ * @param {ExtensionListData<ExtType>} data
338
+ * @returns {Promise<string|null>}
339
+ * @private
340
+ */
341
+ async _getRepositoryUrl(data) {
342
+ if (data.installed && data.installPath) {
343
+ return await this._getRepositoryUrlFromInstalled(
344
+ /** @type {InstalledExtensionListData<ExtType>} */ (data));
345
+ }
346
+ if (data.pkgName && !data.installed) {
347
+ return await this._getRepositoryUrlFromNpm(data.pkgName);
348
+ }
349
+ return null;
350
+ }
351
+ /**
352
+ * Get repository URL from installed extension's package.json
353
+ *
354
+ * @template {ExtensionType} ExtType
355
+ * @param {InstalledExtensionListData<ExtType>} data
356
+ * @returns {Promise<string|null>}
357
+ * @private
358
+ */
359
+ async _getRepositoryUrlFromInstalled(data) {
360
+ try {
361
+ const pkgJsonPath = node_path_1.default.join(data.installPath, 'package.json');
362
+ if (await support_1.fs.exists(pkgJsonPath)) {
363
+ const pkg = JSON.parse(await support_1.fs.readFile(pkgJsonPath, 'utf8'));
364
+ if (pkg.repository) {
365
+ if (typeof pkg.repository === 'string') {
366
+ return pkg.repository;
235
367
  }
236
- else {
237
- if (updateVersion) {
238
- updateTxt = ` [${updateVersion} available]`.magenta;
239
- }
240
- if (upToDate) {
241
- upToDateTxt = ` [Up to date]`.green;
242
- }
243
- if (unsafeUpdateVersion) {
244
- unsafeUpdateTxt = ` [${unsafeUpdateVersion} available (potentially unsafe)]`.cyan;
245
- }
368
+ if (pkg.repository.url) {
369
+ return pkg.repository.url.replace(/^git\+/, '').replace(/\.git$/, '');
246
370
  }
247
371
  }
248
372
  }
249
- this.log.log(`- ${name.yellow}${installTxt}${updateTxt}${upToDateTxt}${unsafeUpdateTxt}`);
250
373
  }
251
- return listData;
374
+ catch {
375
+ // Ignore errors reading package.json
376
+ }
377
+ return null;
378
+ }
379
+ /**
380
+ * Get repository URL from npm for a package name
381
+ *
382
+ * @param {string} pkgName
383
+ * @returns {Promise<string|null>}
384
+ * @private
385
+ */
386
+ async _getRepositoryUrlFromNpm(pkgName) {
387
+ try {
388
+ const repoInfo = await support_1.npm.getPackageInfo(pkgName, ['repository']);
389
+ // When requesting only 'repository', npm.getPackageInfo returns the repository object directly
390
+ if (repoInfo) {
391
+ if (typeof repoInfo === 'string') {
392
+ return repoInfo;
393
+ }
394
+ if (repoInfo.url) {
395
+ return repoInfo.url.replace(/^git\+/, '').replace(/\.git$/, '');
396
+ }
397
+ }
398
+ }
399
+ catch {
400
+ // Ignore errors fetching from npm
401
+ }
402
+ return null;
252
403
  }
253
404
  /**
254
405
  * Checks whether the given extension is compatible with the currently installed server
@@ -322,7 +473,7 @@ class ExtensionCliCommand {
322
473
  else {
323
474
  let pkgName, pkgVer;
324
475
  if (installType === extension_config_1.INSTALL_TYPE_LOCAL) {
325
- pkgName = path_1.default.isAbsolute(installSpec) ? installSpec : path_1.default.resolve(installSpec);
476
+ pkgName = node_path_1.default.isAbsolute(installSpec) ? installSpec : node_path_1.default.resolve(installSpec);
326
477
  }
327
478
  else {
328
479
  // at this point we have either an npm package or an appium verified extension
@@ -416,31 +567,17 @@ class ExtensionCliCommand {
416
567
  * @returns {Promise<ExtInstallReceipt<ExtType>>}
417
568
  */
418
569
  async installViaNpm({ installSpec, pkgName, pkgVer, installType }) {
419
- const msg = `Installing '${installSpec}'`;
570
+ const installMsg = `Installing '${installSpec}'`;
571
+ const validateMsg = `Validating '${installSpec}'`;
420
572
  // the string used for installation is either <name>@<ver> in the case of a standard NPM
421
573
  // package, or whatever the user sent in otherwise.
422
574
  const installStr = installType === extension_config_1.INSTALL_TYPE_NPM ? `${pkgName}${pkgVer ? `@${pkgVer}` : ''}` : installSpec;
423
575
  const appiumHome = this.config.appiumHome;
424
576
  try {
425
- const { pkg, installPath } = await (0, utils_1.spinWith)(this.isJsonOutput, msg, async () => {
426
- const { pkg, installPath } = await support_1.npm.installPackage(appiumHome, installStr, {
427
- pkgName,
428
- installType,
429
- });
577
+ const { pkg, installPath } = await (0, utils_1.spinWith)(this.isJsonOutput, installMsg, async () => await support_1.npm.installPackage(appiumHome, installStr, { pkgName, installType }));
578
+ await (0, utils_1.spinWith)(this.isJsonOutput, validateMsg, async () => {
430
579
  this.validatePackageJson(pkg, installSpec);
431
- return { pkg, installPath };
432
580
  });
433
- /** @type {Promise<void>[]} */
434
- const symlinkInjectionPromises = lodash_1.default.uniq([
435
- ...Object.values(this.config.installedExtensions).map((ext) => ext.installPath),
436
- installPath,
437
- ]).map((instPath) => injectAppiumSymlink.bind(this)(path_1.default.join(instPath, 'node_modules')));
438
- // After the extension is installed, we try to inject the appium module symlink
439
- // into the extension's node_modules folder if it is not there yet.
440
- // We also inject the symlink into other installed extensions' node_modules folders
441
- // as these might be cleaned up unexpectedly by npm
442
- // (see https://github.com/appium/python-client/pull/1177#issuecomment-3419826643).
443
- await Promise.all(symlinkInjectionPromises);
444
581
  return this.getInstallationReceipt({
445
582
  pkg,
446
583
  installPath,
@@ -692,7 +829,7 @@ class ExtensionCliCommand {
692
829
  * @returns {import('node:child_process').ChildProcess}
693
830
  */
694
831
  _runUnbuffered(cwd, script, args = [], opts = {}) {
695
- return (0, child_process_1.spawn)(process.execPath, [script, ...args], {
832
+ return (0, node_child_process_1.spawn)(process.execPath, [script, ...args], {
696
833
  cwd,
697
834
  stdio: 'inherit',
698
835
  ...opts,
@@ -711,7 +848,7 @@ class ExtensionCliCommand {
711
848
  throw this._createFatalError(`The ${this.type} "${installSpec}" is not installed`);
712
849
  }
713
850
  const moduleRoot = this.config.getInstallPath(installSpec);
714
- const packageJsonPath = path_1.default.join(moduleRoot, 'package.json');
851
+ const packageJsonPath = node_path_1.default.join(moduleRoot, 'package.json');
715
852
  if (!await support_1.fs.exists(packageJsonPath)) {
716
853
  throw this._createFatalError(`No package.json could be found for "${installSpec}" ${this.type}`);
717
854
  }
@@ -731,8 +868,8 @@ class ExtensionCliCommand {
731
868
  `containing the 'checks' key with the array of script paths`);
732
869
  }
733
870
  const paths = doctorSpec.checks.map((/** @type {string} */ p) => {
734
- const scriptPath = path_1.default.resolve(moduleRoot, p);
735
- if (!path_1.default.normalize(scriptPath).startsWith(path_1.default.normalize(moduleRoot))) {
871
+ const scriptPath = node_path_1.default.resolve(moduleRoot, p);
872
+ if (!node_path_1.default.normalize(scriptPath).startsWith(node_path_1.default.normalize(moduleRoot))) {
736
873
  this.log.error(`The doctor check script '${p}' from the package manifest '${packageJsonPath}' must be located ` +
737
874
  `in the '${moduleRoot}' root folder. It will be skipped`);
738
875
  return null;
@@ -744,7 +881,7 @@ class ExtensionCliCommand {
744
881
  for (const p of paths) {
745
882
  const promise = (async () => {
746
883
  // https://github.com/nodejs/node/issues/31710
747
- const scriptPath = support_1.system.isWindows() ? (0, url_1.pathToFileURL)(p).href : p;
884
+ const scriptPath = support_1.system.isWindows() ? (0, node_url_1.pathToFileURL)(p).href : p;
748
885
  try {
749
886
  return await import(scriptPath);
750
887
  }
@@ -799,7 +936,7 @@ class ExtensionCliCommand {
799
936
  if (!scriptName) {
800
937
  const allScripts = lodash_1.default.toPairs(extScripts);
801
938
  const root = this.config.getInstallPath(installSpec);
802
- const existingScripts = await bluebird_1.default.filter(allScripts, async ([, p]) => await support_1.fs.exists(path_1.default.join(root, p)));
939
+ const existingScripts = await bluebird_1.default.filter(allScripts, async ([, p]) => await support_1.fs.exists(node_path_1.default.join(root, p)));
803
940
  if (lodash_1.default.isEmpty(existingScripts)) {
804
941
  this.log.info(`The ${this.type} named '${installSpec}' does not contain any scripts`);
805
942
  }
@@ -816,8 +953,8 @@ class ExtensionCliCommand {
816
953
  }
817
954
  const scriptPath = extScripts[scriptName];
818
955
  const moduleRoot = this.config.getInstallPath(installSpec);
819
- const normalizedScriptPath = path_1.default.normalize(path_1.default.resolve(moduleRoot, scriptPath));
820
- if (!normalizedScriptPath.startsWith(path_1.default.normalize(moduleRoot))) {
956
+ const normalizedScriptPath = node_path_1.default.normalize(node_path_1.default.resolve(moduleRoot, scriptPath));
957
+ if (!normalizedScriptPath.startsWith(node_path_1.default.normalize(moduleRoot))) {
821
958
  throw this._createFatalError(`The '${scriptPath}' script must be located in the '${moduleRoot}' folder`);
822
959
  }
823
960
  if (bufferOutput) {
@@ -872,22 +1009,43 @@ exports.ExtensionCommand = ExtensionCliCommand;
872
1009
  * This is needed to ensure proper module resolution for installed extensions,
873
1010
  * especially ESM ones.
874
1011
  *
875
- * @this {ExtensionCliCommand}
1012
+ * @param {ExtensionConfig<ExtensionType>} driverConfig
1013
+ * @param {ExtensionConfig<ExtensionType>} pluginConfig
1014
+ * @param {import('@appium/types').AppiumLogger} logger
1015
+ */
1016
+ async function injectAppiumSymlinks(driverConfig, pluginConfig, logger) {
1017
+ const installPaths = lodash_1.default.compact([
1018
+ ...Object.values(driverConfig.installedExtensions || {}),
1019
+ ...Object.values(pluginConfig.installedExtensions || {})
1020
+ ].filter((details) => details.installType === extension_config_1.INSTALL_TYPE_NPM)
1021
+ .map((details) => details.installPath));
1022
+ // After the extension is installed, we try to inject the appium module symlink
1023
+ // into the extension's node_modules folder if it is not there yet.
1024
+ // We also inject the symlink into other installed extensions' node_modules folders
1025
+ // as these might be cleaned up unexpectedly by npm
1026
+ // (see https://github.com/appium/python-client/pull/1177#issuecomment-3419826643).
1027
+ await Promise.all(installPaths.map((installPath) => injectAppiumSymlink(node_path_1.default.join(installPath, 'node_modules'), logger)));
1028
+ }
1029
+ /**
1030
+ * This is needed to ensure proper module resolution for installed extensions,
1031
+ * especially ESM ones.
1032
+ *
876
1033
  * @param {string} dstFolder The destination folder where the symlink should be created
1034
+ * @param {import('@appium/types').AppiumLogger} logger
877
1035
  * @returns {Promise<void>}
878
1036
  */
879
- async function injectAppiumSymlink(dstFolder) {
1037
+ async function injectAppiumSymlink(dstFolder, logger) {
880
1038
  let appiumModuleRoot;
881
1039
  try {
882
1040
  appiumModuleRoot = (0, utils_2.getAppiumModuleRoot)();
883
- const symlinkPath = path_1.default.join(dstFolder, path_1.default.basename(appiumModuleRoot));
1041
+ const symlinkPath = node_path_1.default.join(dstFolder, node_path_1.default.basename(appiumModuleRoot));
884
1042
  if (await support_1.fs.exists(dstFolder) && !(await support_1.fs.exists(symlinkPath))) {
885
1043
  await support_1.fs.symlink(appiumModuleRoot, symlinkPath, support_1.system.isWindows() ? 'junction' : 'dir');
886
1044
  }
887
1045
  }
888
1046
  catch (error) {
889
1047
  // This error is not fatal, we may still doing just fine if the module being loaded is a CJS one
890
- this.log.info(`Cannot create a symlink to the appium module '${appiumModuleRoot}' in '${dstFolder}'. ` +
1048
+ logger.info(`Cannot create a symlink to the appium module '${appiumModuleRoot}' in '${dstFolder}'. ` +
891
1049
  `Original error: ${error.message}`);
892
1050
  }
893
1051
  }
@@ -909,6 +1067,7 @@ exports.default = ExtensionCliCommand;
909
1067
  * @property {string|null} unsafeUpdateVersion - Same as above, but a major version bump
910
1068
  * @property {string} [updateError] - Update check error message (if present)
911
1069
  * @property {boolean} [devMode] - If Appium is run from an extension's working copy
1070
+ * @property {string} [repositoryUrl] - Repository URL for the extension (if available)
912
1071
  */
913
1072
  /**
914
1073
  * @typedef {import('@appium/types').ExtensionType} ExtensionType
@@ -1 +1 @@
1
- {"version":3,"file":"extension-command.js","sourceRoot":"","sources":["../../../lib/cli/extension-command.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-command.js","sourceRoot":"","sources":["../../../lib/cli/extension-command.js"],"names":[],"mappings":"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"}