appium 3.2.2 → 3.3.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 (250) hide show
  1. package/build/lib/appium.d.ts +147 -205
  2. package/build/lib/appium.d.ts.map +1 -1
  3. package/build/lib/appium.js +169 -282
  4. package/build/lib/appium.js.map +1 -1
  5. package/build/lib/bidi-commands.d.ts.map +1 -1
  6. package/build/lib/bidi-commands.js +11 -11
  7. package/build/lib/bidi-commands.js.map +1 -1
  8. package/build/lib/bootstrap/appium-initializer.d.ts +21 -0
  9. package/build/lib/bootstrap/appium-initializer.d.ts.map +1 -0
  10. package/build/lib/bootstrap/appium-initializer.js +146 -0
  11. package/build/lib/bootstrap/appium-initializer.js.map +1 -0
  12. package/build/lib/bootstrap/appium-main-runner.d.ts +22 -0
  13. package/build/lib/bootstrap/appium-main-runner.d.ts.map +1 -0
  14. package/build/lib/bootstrap/appium-main-runner.js +109 -0
  15. package/build/lib/bootstrap/appium-main-runner.js.map +1 -0
  16. package/build/lib/bootstrap/config-file.d.ts +37 -0
  17. package/build/lib/bootstrap/config-file.d.ts.map +1 -0
  18. package/build/lib/{config-file.js → bootstrap/config-file.js} +62 -138
  19. package/build/lib/bootstrap/config-file.js.map +1 -0
  20. package/build/lib/bootstrap/grid-v3-register.d.ts +20 -0
  21. package/build/lib/bootstrap/grid-v3-register.d.ts.map +1 -0
  22. package/build/lib/bootstrap/grid-v3-register.js +185 -0
  23. package/build/lib/bootstrap/grid-v3-register.js.map +1 -0
  24. package/build/lib/bootstrap/init-types.d.ts +16 -0
  25. package/build/lib/bootstrap/init-types.d.ts.map +1 -0
  26. package/build/lib/bootstrap/init-types.js +3 -0
  27. package/build/lib/bootstrap/init-types.js.map +1 -0
  28. package/build/lib/bootstrap/main-helpers.d.ts +55 -0
  29. package/build/lib/bootstrap/main-helpers.d.ts.map +1 -0
  30. package/build/lib/bootstrap/main-helpers.js +187 -0
  31. package/build/lib/bootstrap/main-helpers.js.map +1 -0
  32. package/build/lib/bootstrap/node-helpers.d.ts +32 -0
  33. package/build/lib/bootstrap/node-helpers.d.ts.map +1 -0
  34. package/build/lib/bootstrap/node-helpers.js +201 -0
  35. package/build/lib/bootstrap/node-helpers.js.map +1 -0
  36. package/build/lib/bootstrap/startup-config.d.ts +22 -0
  37. package/build/lib/bootstrap/startup-config.d.ts.map +1 -0
  38. package/build/lib/bootstrap/startup-config.js +111 -0
  39. package/build/lib/bootstrap/startup-config.js.map +1 -0
  40. package/build/lib/cli/args.d.ts +16 -12
  41. package/build/lib/cli/args.d.ts.map +1 -1
  42. package/build/lib/cli/args.js +20 -40
  43. package/build/lib/cli/args.js.map +1 -1
  44. package/build/lib/cli/driver-command.d.ts +51 -93
  45. package/build/lib/cli/driver-command.d.ts.map +1 -1
  46. package/build/lib/cli/driver-command.js +11 -66
  47. package/build/lib/cli/driver-command.js.map +1 -1
  48. package/build/lib/cli/extension-command.d.ts +173 -377
  49. package/build/lib/cli/extension-command.d.ts.map +1 -1
  50. package/build/lib/cli/extension-command.js +387 -656
  51. package/build/lib/cli/extension-command.js.map +1 -1
  52. package/build/lib/cli/extension.d.ts +10 -15
  53. package/build/lib/cli/extension.d.ts.map +1 -1
  54. package/build/lib/cli/extension.js +15 -33
  55. package/build/lib/cli/extension.js.map +1 -1
  56. package/build/lib/cli/parser.d.ts +37 -66
  57. package/build/lib/cli/parser.d.ts.map +1 -1
  58. package/build/lib/cli/parser.js +69 -104
  59. package/build/lib/cli/parser.js.map +1 -1
  60. package/build/lib/cli/plugin-command.d.ts +50 -90
  61. package/build/lib/cli/plugin-command.d.ts.map +1 -1
  62. package/build/lib/cli/plugin-command.js +11 -63
  63. package/build/lib/cli/plugin-command.js.map +1 -1
  64. package/build/lib/cli/setup-command.d.ts +21 -26
  65. package/build/lib/cli/setup-command.d.ts.map +1 -1
  66. package/build/lib/cli/setup-command.js +19 -61
  67. package/build/lib/cli/setup-command.js.map +1 -1
  68. package/build/lib/cli/utils.d.ts +33 -35
  69. package/build/lib/cli/utils.d.ts.map +1 -1
  70. package/build/lib/cli/utils.js +48 -50
  71. package/build/lib/cli/utils.js.map +1 -1
  72. package/build/lib/constants.d.ts +23 -23
  73. package/build/lib/constants.d.ts.map +1 -1
  74. package/build/lib/constants.js +10 -15
  75. package/build/lib/constants.js.map +1 -1
  76. package/build/lib/doctor/doctor.d.ts +40 -57
  77. package/build/lib/doctor/doctor.d.ts.map +1 -1
  78. package/build/lib/doctor/doctor.js +31 -62
  79. package/build/lib/doctor/doctor.js.map +1 -1
  80. package/build/lib/extension/driver-config.d.ts +18 -77
  81. package/build/lib/extension/driver-config.d.ts.map +1 -1
  82. package/build/lib/extension/driver-config.js +37 -125
  83. package/build/lib/extension/driver-config.js.map +1 -1
  84. package/build/lib/extension/extension-config.d.ts +103 -210
  85. package/build/lib/extension/extension-config.d.ts.map +1 -1
  86. package/build/lib/extension/extension-config.js +180 -342
  87. package/build/lib/extension/extension-config.js.map +1 -1
  88. package/build/lib/extension/index.d.ts +12 -29
  89. package/build/lib/extension/index.d.ts.map +1 -1
  90. package/build/lib/extension/index.js +33 -75
  91. package/build/lib/extension/index.js.map +1 -1
  92. package/build/lib/extension/manifest-migrations.d.ts +3 -20
  93. package/build/lib/extension/manifest-migrations.d.ts.map +1 -1
  94. package/build/lib/extension/manifest-migrations.js +20 -101
  95. package/build/lib/extension/manifest-migrations.js.map +1 -1
  96. package/build/lib/extension/manifest.d.ts +61 -107
  97. package/build/lib/extension/manifest.d.ts.map +1 -1
  98. package/build/lib/extension/manifest.js +181 -356
  99. package/build/lib/extension/manifest.js.map +1 -1
  100. package/build/lib/extension/package-changed.d.ts +1 -3
  101. package/build/lib/extension/package-changed.d.ts.map +1 -1
  102. package/build/lib/extension/package-changed.js +8 -15
  103. package/build/lib/extension/package-changed.js.map +1 -1
  104. package/build/lib/extension/plugin-config.d.ts +10 -52
  105. package/build/lib/extension/plugin-config.d.ts.map +1 -1
  106. package/build/lib/extension/plugin-config.js +11 -63
  107. package/build/lib/extension/plugin-config.js.map +1 -1
  108. package/build/lib/helpers/build.d.ts +22 -0
  109. package/build/lib/helpers/build.d.ts.map +1 -0
  110. package/build/lib/helpers/build.js +109 -0
  111. package/build/lib/helpers/build.js.map +1 -0
  112. package/build/lib/helpers/capability.d.ts +38 -0
  113. package/build/lib/helpers/capability.d.ts.map +1 -0
  114. package/build/lib/helpers/capability.js +128 -0
  115. package/build/lib/helpers/capability.js.map +1 -0
  116. package/build/lib/helpers/network.d.ts +14 -0
  117. package/build/lib/helpers/network.d.ts.map +1 -0
  118. package/build/lib/helpers/network.js +35 -0
  119. package/build/lib/helpers/network.js.map +1 -0
  120. package/build/lib/insecure-features.js +6 -6
  121. package/build/lib/insecure-features.js.map +1 -1
  122. package/build/lib/inspector-commands.d.ts +6 -0
  123. package/build/lib/inspector-commands.d.ts.map +1 -1
  124. package/build/lib/inspector-commands.js +6 -0
  125. package/build/lib/inspector-commands.js.map +1 -1
  126. package/build/lib/logger.d.ts +2 -3
  127. package/build/lib/logger.d.ts.map +1 -1
  128. package/build/lib/logger.js +2 -3
  129. package/build/lib/logger.js.map +1 -1
  130. package/build/lib/logsink.d.ts +13 -22
  131. package/build/lib/logsink.d.ts.map +1 -1
  132. package/build/lib/logsink.js +48 -103
  133. package/build/lib/logsink.js.map +1 -1
  134. package/build/lib/main.d.ts +15 -58
  135. package/build/lib/main.d.ts.map +1 -1
  136. package/build/lib/main.js +25 -425
  137. package/build/lib/main.js.map +1 -1
  138. package/build/lib/schema/arg-spec.d.ts +32 -107
  139. package/build/lib/schema/arg-spec.d.ts.map +1 -1
  140. package/build/lib/schema/arg-spec.js +11 -107
  141. package/build/lib/schema/arg-spec.js.map +1 -1
  142. package/build/lib/schema/cli-args-guards.d.ts +34 -0
  143. package/build/lib/schema/cli-args-guards.d.ts.map +1 -0
  144. package/build/lib/schema/cli-args-guards.js +49 -0
  145. package/build/lib/schema/cli-args-guards.js.map +1 -0
  146. package/build/lib/schema/cli-args.d.ts +3 -15
  147. package/build/lib/schema/cli-args.d.ts.map +1 -1
  148. package/build/lib/schema/cli-args.js +17 -107
  149. package/build/lib/schema/cli-args.js.map +1 -1
  150. package/build/lib/schema/cli-transformers.d.ts +15 -12
  151. package/build/lib/schema/cli-transformers.d.ts.map +1 -1
  152. package/build/lib/schema/cli-transformers.js +15 -45
  153. package/build/lib/schema/cli-transformers.js.map +1 -1
  154. package/build/lib/schema/format-errors.d.ts +28 -0
  155. package/build/lib/schema/format-errors.d.ts.map +1 -0
  156. package/build/lib/schema/format-errors.js +29 -0
  157. package/build/lib/schema/format-errors.js.map +1 -0
  158. package/build/lib/schema/index.d.ts +4 -2
  159. package/build/lib/schema/index.d.ts.map +1 -1
  160. package/build/lib/schema/index.js +2 -0
  161. package/build/lib/schema/index.js.map +1 -1
  162. package/build/lib/schema/keywords.d.ts +12 -20
  163. package/build/lib/schema/keywords.d.ts.map +1 -1
  164. package/build/lib/schema/keywords.js +6 -51
  165. package/build/lib/schema/keywords.js.map +1 -1
  166. package/build/lib/schema/schema.d.ts +106 -231
  167. package/build/lib/schema/schema.d.ts.map +1 -1
  168. package/build/lib/schema/schema.js +88 -358
  169. package/build/lib/schema/schema.js.map +1 -1
  170. package/build/lib/utils.d.ts +7 -267
  171. package/build/lib/utils.d.ts.map +1 -1
  172. package/build/lib/utils.js +10 -409
  173. package/build/lib/utils.js.map +1 -1
  174. package/lib/{appium.js → appium.ts} +297 -341
  175. package/lib/bidi-commands.ts +10 -14
  176. package/lib/bootstrap/appium-initializer.ts +212 -0
  177. package/lib/bootstrap/appium-main-runner.ts +172 -0
  178. package/lib/bootstrap/config-file.ts +178 -0
  179. package/lib/bootstrap/grid-v3-register.ts +250 -0
  180. package/lib/bootstrap/init-types.ts +31 -0
  181. package/lib/bootstrap/main-helpers.ts +223 -0
  182. package/lib/bootstrap/node-helpers.ts +180 -0
  183. package/lib/bootstrap/startup-config.ts +143 -0
  184. package/lib/cli/{args.js → args.ts} +45 -56
  185. package/lib/cli/driver-command.ts +122 -0
  186. package/lib/cli/{extension-command.js → extension-command.ts} +827 -906
  187. package/lib/cli/extension.ts +65 -0
  188. package/lib/cli/{parser.js → parser.ts} +93 -116
  189. package/lib/cli/plugin-command.ts +117 -0
  190. package/lib/cli/{setup-command.js → setup-command.ts} +59 -74
  191. package/lib/cli/utils.ts +97 -0
  192. package/lib/{constants.js → constants.ts} +30 -41
  193. package/lib/doctor/{doctor.js → doctor.ts} +82 -92
  194. package/lib/extension/driver-config.ts +165 -0
  195. package/lib/extension/{extension-config.js → extension-config.ts} +291 -405
  196. package/lib/extension/index.ts +143 -0
  197. package/lib/extension/manifest-migrations.ts +57 -0
  198. package/lib/extension/manifest.ts +369 -0
  199. package/lib/extension/{package-changed.js → package-changed.ts} +9 -18
  200. package/lib/extension/plugin-config.ts +62 -0
  201. package/lib/helpers/build.ts +111 -0
  202. package/lib/helpers/capability.ts +171 -0
  203. package/lib/helpers/network.ts +30 -0
  204. package/lib/insecure-features.ts +1 -1
  205. package/lib/inspector-commands.ts +6 -1
  206. package/lib/{logger.js → logger.ts} +1 -2
  207. package/lib/{logsink.js → logsink.ts} +91 -137
  208. package/lib/main.ts +60 -0
  209. package/lib/schema/arg-spec.ts +131 -0
  210. package/lib/schema/cli-args-guards.ts +67 -0
  211. package/lib/schema/cli-args.ts +171 -0
  212. package/lib/schema/cli-transformers.ts +83 -0
  213. package/lib/schema/format-errors.ts +43 -0
  214. package/lib/schema/index.ts +4 -0
  215. package/lib/schema/keywords.ts +96 -0
  216. package/lib/schema/schema.ts +448 -0
  217. package/lib/utils.ts +73 -0
  218. package/package.json +17 -18
  219. package/scripts/autoinstall-extensions.js +3 -0
  220. package/build/lib/config-file.d.ts +0 -100
  221. package/build/lib/config-file.d.ts.map +0 -1
  222. package/build/lib/config-file.js.map +0 -1
  223. package/build/lib/config.d.ts +0 -70
  224. package/build/lib/config.d.ts.map +0 -1
  225. package/build/lib/config.js +0 -390
  226. package/build/lib/config.js.map +0 -1
  227. package/build/lib/grid-register.d.ts +0 -10
  228. package/build/lib/grid-register.d.ts.map +0 -1
  229. package/build/lib/grid-register.js +0 -134
  230. package/build/lib/grid-register.js.map +0 -1
  231. package/lib/cli/driver-command.js +0 -174
  232. package/lib/cli/extension.js +0 -74
  233. package/lib/cli/plugin-command.js +0 -164
  234. package/lib/cli/utils.js +0 -91
  235. package/lib/config-file.js +0 -228
  236. package/lib/config.js +0 -389
  237. package/lib/extension/driver-config.js +0 -245
  238. package/lib/extension/index.js +0 -169
  239. package/lib/extension/manifest-migrations.js +0 -136
  240. package/lib/extension/manifest.js +0 -550
  241. package/lib/extension/plugin-config.js +0 -112
  242. package/lib/grid-register.js +0 -146
  243. package/lib/main.js +0 -545
  244. package/lib/schema/arg-spec.js +0 -229
  245. package/lib/schema/cli-args.js +0 -254
  246. package/lib/schema/cli-transformers.js +0 -113
  247. package/lib/schema/index.js +0 -2
  248. package/lib/schema/keywords.js +0 -136
  249. package/lib/schema/schema.js +0 -725
  250. package/lib/utils.js +0 -512
@@ -3,178 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getAppiumModuleRoot = exports.inspect = exports.npmPackage = exports.V6_BROADCAST_IP = exports.V4_BROADCAST_IP = void 0;
7
- exports.makeNonW3cCapsError = makeNonW3cCapsError;
8
- exports.parseCapsForInnerDriver = parseCapsForInnerDriver;
9
- exports.insertAppiumPrefixes = insertAppiumPrefixes;
10
- exports.removeAppiumPrefixes = removeAppiumPrefixes;
11
- exports.getPackageVersion = getPackageVersion;
12
- exports.adjustNodePath = adjustNodePath;
13
- exports.pullSettings = pullSettings;
14
- exports.isServerCommandArgs = isServerCommandArgs;
15
- exports.isSetupCommandArgs = isSetupCommandArgs;
16
- exports.isExtensionCommandArgs = isExtensionCommandArgs;
17
- exports.isDriverCommandArgs = isDriverCommandArgs;
18
- exports.isPluginCommandArgs = isPluginCommandArgs;
19
- exports.fetchInterfaces = fetchInterfaces;
6
+ exports.getAppiumModuleRoot = exports.npmPackage = void 0;
20
7
  exports.adler32 = adler32;
21
- exports.isBroadcastIp = isBroadcastIp;
22
8
  const lodash_1 = __importDefault(require("lodash"));
23
- const logger_1 = __importDefault(require("./logger"));
24
- const base_driver_1 = require("@appium/base-driver");
25
- const node_util_1 = require("node:util");
26
9
  const support_1 = require("@appium/support");
27
- const node_path_1 = __importDefault(require("node:path"));
28
- const constants_1 = require("./constants");
29
- const node_os_1 = __importDefault(require("node:os"));
30
- const W3C_APPIUM_PREFIX = 'appium';
31
- const STANDARD_CAPS_LOWERCASE = new Set([...base_driver_1.STANDARD_CAPS].map((cap) => cap.toLowerCase()));
32
- exports.V4_BROADCAST_IP = '0.0.0.0';
33
- exports.V6_BROADCAST_IP = '::';
34
10
  exports.npmPackage = support_1.fs.readPackageJsonFrom(__dirname);
35
11
  /**
12
+ * Returns the root directory of the Appium module (memoized).
36
13
  *
37
- * If `stdout` is a TTY, this is `true`.
38
- *
39
- * Used for tighter control over log output.
40
- * @type {boolean}
41
- */
42
- const isStdoutTTY = process.stdout.isTTY;
43
- /**
44
- * Creates an error object in case a session gets incompatible capabilities as the input.
45
- *
46
- * @returns {Error}
47
- */
48
- function makeNonW3cCapsError() {
49
- return new base_driver_1.errors.SessionNotCreatedError('Session capabilities format must comply to the W3C standard. Make sure your client is up to date. ' +
50
- 'See https://www.w3.org/TR/webdriver/#new-session for more details.');
51
- }
52
- /**
53
- * Dumps to value to the console using `info` logger.
54
- *
55
- * @todo May want to force color to be `false` if {@link isStdoutTTY} is `false`.
56
- */
57
- exports.inspect = lodash_1.default.flow(lodash_1.default.partialRight(
58
- /** @type {(object: any, options: import('util').InspectOptions) => string} */ (node_util_1.inspect), { colors: true, depth: null, compact: !isStdoutTTY }), (...args) => {
59
- logger_1.default.info(...args);
60
- });
61
- /**
62
- * Takes the caps that were provided in the request and translates them
63
- * into caps that can be used by the inner drivers.
64
- *
65
- * @template {Constraints} C
66
- * @param {W3CCapabilities<C>} w3cCapabilities
67
- * @param {C} constraints
68
- * @param {NSCapabilities<C>} [defaultCapabilities]
69
- * @returns {ParsedDriverCaps<C>|InvalidCaps<C>}
70
- */
71
- function parseCapsForInnerDriver(w3cCapabilities, constraints = /** @type {C} */ ({}), defaultCapabilities = {}) {
72
- if (!(0, base_driver_1.isW3cCaps)(w3cCapabilities)) {
73
- return /** @type {InvalidCaps<C>} */ ({
74
- error: makeNonW3cCapsError(),
75
- });
76
- }
77
- let desiredCaps = /** @type {ParsedDriverCaps<C>['desiredCaps']} */ ({});
78
- /** @type {ParsedDriverCaps<C>['processedW3CCapabilities'] | undefined} */
79
- let processedW3CCapabilities;
80
- // Make sure we don't mutate the original arguments
81
- w3cCapabilities = lodash_1.default.cloneDeep(w3cCapabilities);
82
- defaultCapabilities = lodash_1.default.cloneDeep(defaultCapabilities);
83
- if (!lodash_1.default.isEmpty(defaultCapabilities)) {
84
- for (const [defaultCapKey, defaultCapValue] of lodash_1.default.toPairs(defaultCapabilities)) {
85
- let isCapAlreadySet = false;
86
- // Check if the key is already present in firstMatch entries
87
- for (const firstMatchEntry of w3cCapabilities.firstMatch ?? []) {
88
- if (lodash_1.default.isPlainObject(firstMatchEntry) &&
89
- lodash_1.default.has(removeAppiumPrefixes(firstMatchEntry), removeAppiumPrefix(defaultCapKey))) {
90
- isCapAlreadySet = true;
91
- break;
92
- }
93
- }
94
- // Check if the key is already present in alwaysMatch entries
95
- isCapAlreadySet =
96
- isCapAlreadySet ||
97
- (lodash_1.default.isPlainObject(w3cCapabilities.alwaysMatch) &&
98
- lodash_1.default.has(removeAppiumPrefixes(w3cCapabilities.alwaysMatch), removeAppiumPrefix(defaultCapKey)));
99
- if (isCapAlreadySet) {
100
- // Skip if the key is already present in the provided caps
101
- continue;
102
- }
103
- // Only add the default capability if it is not overridden
104
- if (lodash_1.default.isEmpty(w3cCapabilities.firstMatch)) {
105
- w3cCapabilities.firstMatch = /** @type {W3CCapabilities<C>['firstMatch']} */ ([
106
- { [defaultCapKey]: defaultCapValue },
107
- ]);
108
- }
109
- else {
110
- w3cCapabilities.firstMatch[0][defaultCapKey] = defaultCapValue;
111
- }
112
- }
113
- }
114
- // Call the process capabilities algorithm to find matching caps on the W3C
115
- // (see: https://github.com/jlipps/simple-wd-spec#processing-capabilities)
116
- try {
117
- desiredCaps = (0, base_driver_1.processCapabilities)(w3cCapabilities, constraints, true);
118
- }
119
- catch (error) {
120
- logger_1.default.info(`Could not parse W3C capabilities: ${error.message}`);
121
- return /** @type {InvalidCaps<C>} */ ({
122
- desiredCaps,
123
- processedW3CCapabilities,
124
- error,
125
- });
126
- }
127
- // Create a new w3c capabilities payload that contains only the matching caps in `alwaysMatch`
128
- processedW3CCapabilities = {
129
- alwaysMatch: { ...insertAppiumPrefixes(desiredCaps) },
130
- firstMatch: [{}],
131
- };
132
- return /** @type {ParsedDriverCaps<C>} */ ({
133
- desiredCaps,
134
- processedW3CCapabilities,
135
- });
136
- }
137
- /**
138
- * Takes a capabilities objects and prefixes capabilities with `appium:`
139
- * @template {Constraints} [C={}]
140
- * @param {Capabilities<C>} caps - Desired capabilities object
141
- * @returns {NSCapabilities<C>}
142
- */
143
- function insertAppiumPrefixes(caps) {
144
- return /** @type {NSCapabilities<C>} */ (lodash_1.default.mapKeys(caps, (_, key) => STANDARD_CAPS_LOWERCASE.has(key.toLowerCase()) || key.includes(':')
145
- ? key
146
- : `${W3C_APPIUM_PREFIX}:${key}`));
147
- }
148
- /**
149
- * @template {Constraints} [C={}]
150
- * @param {NSCapabilities<C>} caps
151
- * @returns {Capabilities<C>}
152
- */
153
- function removeAppiumPrefixes(caps) {
154
- return /** @type {Capabilities<C>} */ (lodash_1.default.mapKeys(caps, (_, key) => removeAppiumPrefix(key)));
155
- }
156
- /**
157
- * @param {string} key
158
- * @returns {string}
159
- */
160
- function removeAppiumPrefix(key) {
161
- const prefix = `${W3C_APPIUM_PREFIX}:`;
162
- return lodash_1.default.startsWith(key, prefix) ? key.substring(prefix.length) : key;
163
- }
164
- /**
165
- *
166
- * @param {string} pkgName
167
- * @returns {string|undefined}
168
- */
169
- function getPackageVersion(pkgName) {
170
- const pkgInfo = require(`${pkgName}/package.json`) || {};
171
- return pkgInfo.version;
172
- }
173
- /**
174
- * Returns the root directory of the Appium module.
175
- *
176
- * @returns {string} - The absolute path to the Appium module root directory.
177
- * @throws {Error} - If the Appium module root cannot be determined.
14
+ * @throws {Error} If the appium module root cannot be determined.
178
15
  */
179
16
  exports.getAppiumModuleRoot = lodash_1.default.memoize(function getAppiumModuleRoot() {
180
17
  const selfRoot = support_1.node.getModuleRootSync('appium', __filename);
@@ -184,183 +21,13 @@ exports.getAppiumModuleRoot = lodash_1.default.memoize(function getAppiumModuleR
184
21
  return selfRoot;
185
22
  });
186
23
  /**
187
- * Adjusts NODE_PATH environment variable,
188
- * so CJS drivers and plugins could load their peer dependencies.
189
- * Read https://nodejs.org/api/modules.html#loading-from-the-global-folders
190
- * for more details.
191
- *
192
- * Unfortunately this hack does not work with ESM modules,
193
- * @returns {void}
194
- */
195
- function adjustNodePath() {
196
- let appiumModuleSearchRoot;
197
- try {
198
- appiumModuleSearchRoot = node_path_1.default.dirname((0, exports.getAppiumModuleRoot)());
199
- }
200
- catch (error) {
201
- logger_1.default.warn(error.message);
202
- return;
203
- }
204
- const refreshRequirePaths = () => {
205
- try {
206
- // ! This hack allows us to avoid modification of import
207
- // ! statements in client modules. It uses a private API though,
208
- // ! so it could break (maybe, eventually).
209
- // See https://gist.github.com/branneman/8048520#7-the-hack
210
- // @ts-ignore see above comment
211
- require('node:module').Module._initPaths();
212
- return true;
213
- }
214
- catch {
215
- return false;
216
- }
217
- };
218
- if (!process.env.NODE_PATH) {
219
- process.env.NODE_PATH = appiumModuleSearchRoot;
220
- if (refreshRequirePaths()) {
221
- process.env.APPIUM_OMIT_PEER_DEPS = '1';
222
- }
223
- else {
224
- delete process.env.NODE_PATH;
225
- }
226
- return;
227
- }
228
- const nodePathParts = process.env.NODE_PATH.split(node_path_1.default.delimiter);
229
- if (nodePathParts.includes(appiumModuleSearchRoot)) {
230
- process.env.APPIUM_OMIT_PEER_DEPS = '1';
231
- return;
232
- }
233
- nodePathParts.push(appiumModuleSearchRoot);
234
- process.env.NODE_PATH = nodePathParts.join(node_path_1.default.delimiter);
235
- if (refreshRequirePaths()) {
236
- process.env.APPIUM_OMIT_PEER_DEPS = '1';
237
- }
238
- else {
239
- process.env.NODE_PATH = lodash_1.default.without(nodePathParts, appiumModuleSearchRoot).join(node_path_1.default.delimiter);
240
- }
241
- }
242
- /**
243
- * Pulls the initial values of Appium settings from the given capabilities argument.
244
- * Each setting item must satisfy the following format:
245
- * `settings[setting_name]: setting_value`
246
- * or
247
- * ```
248
- * settings = {
249
- * setting_name1: 'setting_value1',
250
- * setting_name2: 'setting_value2',
251
- * }
252
- * ```
253
- * The capabilities argument itself gets mutated, so it does not contain parsed
254
- * settings anymore to avoid further parsing issues.
255
- * Check
256
- * https://appium.io/docs/en/latest/guides/settings/
257
- * for more details on the available settings.
258
- *
259
- * @param {?Object} caps - Capabilities dictionary. It is mutated if
260
- * one or more settings have been pulled from it
261
- * @return {Object} - An empty dictionary if the given caps contains no
262
- * setting items or a dictionary containing parsed Appium setting names along with
263
- * their values.
264
- */
265
- function pullSettings(caps) {
266
- if (!lodash_1.default.isPlainObject(caps) || lodash_1.default.isEmpty(caps)) {
267
- return {};
268
- }
269
- const result = {};
270
- const singleSettings = {};
271
- for (const [key, value] of lodash_1.default.toPairs(caps)) {
272
- let match;
273
- if (/^(s|appium:s)ettings$/.test(key) && lodash_1.default.isPlainObject(value)) {
274
- Object.assign(result, value);
275
- delete caps[key];
276
- }
277
- else if ((match = /^(s|appium:s)ettings\[(\S+)\]$/.exec(key))) {
278
- singleSettings[match[2]] = value;
279
- delete caps[key];
280
- }
281
- }
282
- if (!lodash_1.default.isEmpty(singleSettings)) {
283
- Object.assign(result, singleSettings);
284
- }
285
- return result;
286
- }
287
- /**
288
- * @template {CliCommand} [Cmd=ServerCommand]
289
- * @template {CliExtensionSubcommand|void} [SubCmd=void]
290
- * @param {Args<Cmd, SubCmd>} args
291
- * @returns {args is Args<ServerCommand>}
292
- */
293
- function isServerCommandArgs(args) {
294
- return args.subcommand === constants_1.SERVER_SUBCOMMAND;
295
- }
296
- /**
297
- * @template {CliCommand} Cmd
298
- * @template {CliExtensionSubcommand|CliCommandSetupSubcommand|void} [SubCmd=void]
299
- * @param {Args<Cmd, SubCmd>} args
300
- * @returns {args is Args<SetupCommand>}
301
- */
302
- function isSetupCommandArgs(args) {
303
- return args.subcommand === constants_1.SETUP_SUBCOMMAND;
304
- }
305
- /**
306
- * @template {CliCommand} [Cmd=ServerCommand]
307
- * @template {CliExtensionSubcommand|void} [SubCmd=void]
308
- * @param {Args<Cmd, SubCmd>} args
309
- * @returns {args is Args<CliExtensionCommand, SubCmd>}
310
- */
311
- function isExtensionCommandArgs(args) {
312
- return args.subcommand === constants_1.DRIVER_TYPE || args.subcommand === constants_1.PLUGIN_TYPE;
313
- }
314
- /**
315
- * @template {CliCommand} Cmd
316
- * @template {CliExtensionSubcommand} SubCmd
317
- * @param {Args<Cmd, SubCmd>} args
318
- * @returns {args is Args<DriverCommand, SubCmd>}
319
- */
320
- function isDriverCommandArgs(args) {
321
- return args.subcommand === constants_1.DRIVER_TYPE;
322
- }
323
- /**
324
- * @template {CliCommand} Cmd
325
- * @template {CliExtensionSubcommand} SubCmd
326
- * @param {Args<Cmd, SubCmd>} args
327
- * @returns {args is Args<PluginCommand, SubCmd>}
328
- */
329
- function isPluginCommandArgs(args) {
330
- return args.subcommand === constants_1.PLUGIN_TYPE;
331
- }
332
- /**
333
- * Fetches the list of matched network interfaces of the current host.
334
- *
335
- * @param {4|6|null} family Either 4 to include ipv4 addresses only,
336
- * 6 to include ipv6 addresses only, or null to include all of them
337
- * @returns {os.NetworkInterfaceInfo[]} The list of matched interfaces
338
- */
339
- function fetchInterfaces(family = null) {
340
- let familyValue = null;
341
- // 'IPv4' is in Node <= 17, from 18 it's a number 4 or 6
342
- if (family === 4) {
343
- familyValue = [4, 'IPv4'];
344
- }
345
- else if (family === 6) {
346
- familyValue = [6, 'IPv6'];
347
- }
348
- // @ts-ignore The linter does not understand the below filter
349
- return lodash_1.default.flatMap(lodash_1.default.values(node_os_1.default.networkInterfaces()).filter(Boolean))
350
- // @ts-ignore The linter does not understand the above filter
351
- .filter(({ family }) => !familyValue || familyValue && familyValue.includes(family));
352
- }
353
- /**
354
- * https://github.com/SheetJS/js-adler32
355
- *
356
- * @param {string} str
357
- * @param {number?} [seed]
358
- * @returns {number}
24
+ * Adler-32 checksum (see https://github.com/SheetJS/js-adler32).
359
25
  */
360
26
  function adler32(str, seed = null) {
361
- let a = 1, b = 0, L = str.length, M = 0, c = 0, d = 0;
27
+ let a = 1, b = 0, M = 0, c = 0, d = 0;
28
+ const L = str.length;
362
29
  if (typeof seed === 'number') {
363
- a = seed & 0xFFFF;
30
+ a = seed & 0xffff;
364
31
  b = seed >>> 16;
365
32
  }
366
33
  for (let i = 0; i < L;) {
@@ -376,7 +43,7 @@ function adler32(str, seed = null) {
376
43
  --M;
377
44
  a += 128 | (c & 63);
378
45
  }
379
- else if (c >= 0xD800 && c < 0xE000) {
46
+ else if (c >= 0xd800 && c < 0xe000) {
380
47
  c = (c & 1023) + 64;
381
48
  d = str.charCodeAt(i++) & 1023;
382
49
  a += 240 | ((c >> 8) & 7);
@@ -402,75 +69,9 @@ function adler32(str, seed = null) {
402
69
  b += a;
403
70
  --M;
404
71
  }
405
- a = (15 * (a >>> 16) + (a & 65535));
406
- b = (15 * (b >>> 16) + (b & 65535));
72
+ a = 15 * (a >>> 16) + (a & 65535);
73
+ b = 15 * (b >>> 16) + (b & 65535);
407
74
  }
408
75
  return ((b % 65521) << 16) | (a % 65521);
409
76
  }
410
- /**
411
- * Checks if the provided address is a broadcast one.
412
- *
413
- * @param {string} address
414
- * @returns {boolean}
415
- */
416
- function isBroadcastIp(address) {
417
- return [exports.V4_BROADCAST_IP, exports.V6_BROADCAST_IP, `[${exports.V6_BROADCAST_IP}]`].includes(address);
418
- }
419
- /**
420
- * @typedef {import('@appium/types').StringRecord} StringRecord
421
- * @typedef {import('@appium/types').BaseDriverCapConstraints} BaseDriverCapConstraints
422
- */
423
- /**
424
- * @template {Constraints} [C=BaseDriverCapConstraints]
425
- * @typedef ParsedDriverCaps
426
- * @property {Capabilities<C>} desiredCaps
427
- * @property {W3CCapabilities<C>} processedW3CCapabilities
428
- */
429
- /**
430
- * @todo protocol is more specific
431
- * @template {Constraints} [C=BaseDriverCapConstraints]
432
- * @typedef InvalidCaps
433
- * @property {Error} error
434
- * @property {Capabilities<C>} [desiredCaps]
435
- * @property {W3CCapabilities<C>} [processedW3CCapabilities]
436
- */
437
- /**
438
- * @template {Constraints} C
439
- * @typedef {import('@appium/types').Capabilities<C>} Capabilities
440
- */
441
- /**
442
- * @template {Constraints} C
443
- * @typedef {import('@appium/types').W3CCapabilities<C>} W3CCapabilities
444
- */
445
- /**
446
- * @template {Constraints} C
447
- * @typedef {import('@appium/types').NSCapabilities<C>} NSCapabilities
448
- */
449
- /**
450
- * @template {Constraints} C
451
- * @typedef {import('@appium/types').ConstraintsToCaps<C>} ConstraintsToCaps
452
- */
453
- /**
454
- * @typedef {import('@appium/types').Constraints} Constraints
455
- */
456
- /**
457
- * @typedef {import('appium/types').CliCommand} CliCommand
458
- * @typedef {import('appium/types').CliExtensionSubcommand} CliExtensionSubcommand
459
- * @typedef {import('appium/types').CliExtensionCommand} CliExtensionCommand
460
- * @typedef {import('appium/types').CliCommandSetupSubcommand} CliCommandSetupSubcommand
461
- * @typedef {import('appium/types').CliCommandServer} ServerCommand
462
- * @typedef {import('appium/types').CliCommandDriver} DriverCommand
463
- * @typedef {import('appium/types').CliCommandPlugin} PluginCommand
464
- * @typedef {import('appium/types').CliCommandSetup} SetupCommand
465
- */
466
- /**
467
- * @template {CliCommand} [Cmd=ServerCommand]
468
- * @template {CliExtensionSubcommand|CliCommandSetupSubcommand|void} [SubCmd=void]
469
- * @typedef {import('appium/types').Args<Cmd, SubCmd>} Args
470
- */
471
- /**
472
- * @template {CliCommand} [Cmd=ServerCommand]
473
- * @template {CliExtensionSubcommand|CliCommandSetupSubcommand|void} [SubCmd=void]
474
- * @typedef {import('appium/types').ParsedArgs<Cmd, SubCmd>} ParsedArgs
475
- */
476
77
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}