appium-safari-driver 4.1.12 → 4.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,15 @@
1
+ ## [4.1.14](https://github.com/appium/appium-safari-driver/compare/v4.1.13...v4.1.14) (2026-05-01)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * remove lodash ([#166](https://github.com/appium/appium-safari-driver/issues/166)) ([aca1cf6](https://github.com/appium/appium-safari-driver/commit/aca1cf6bf3dd921d561d4baf61e5a73e4be339fe))
6
+
7
+ ## [4.1.13](https://github.com/appium/appium-safari-driver/compare/v4.1.12...v4.1.13) (2026-05-01)
8
+
9
+ ### Bug Fixes
10
+
11
+ * lint ([#165](https://github.com/appium/appium-safari-driver/issues/165)) ([1c062e8](https://github.com/appium/appium-safari-driver/commit/1c062e8460697db4daa38bb8d1303b1e711c424e))
12
+
1
13
  ## [4.1.12](https://github.com/appium/appium-safari-driver/compare/v4.1.11...v4.1.12) (2026-04-17)
2
14
 
3
15
  ### Bug Fixes
@@ -1,28 +1,5 @@
1
1
  import type { AppiumLogger } from '@appium/types';
2
2
  import type { SafariDriver } from '../driver';
3
- interface ScreenRecorderOptions {
4
- codec?: string;
5
- display?: string;
6
- mask?: string;
7
- timeLimit?: string | number;
8
- }
9
- export declare class ScreenRecorder {
10
- private log;
11
- private _process;
12
- private _udid;
13
- private _videoPath;
14
- private _codec?;
15
- private _display?;
16
- private _mask?;
17
- private _timeLimitMs;
18
- private _timer;
19
- constructor(udid: string, videoPath: string, log: AppiumLogger, opts?: ScreenRecorderOptions);
20
- getVideoPath(): Promise<string>;
21
- get isRunning(): boolean;
22
- start(): Promise<void>;
23
- stop(force?: boolean): Promise<string>;
24
- private _enforceTermination;
25
- }
26
3
  export interface StartRecordingOptions {
27
4
  /** Specifies the codec type: "h264" or "hevc" */
28
5
  codec?: string;
@@ -41,15 +18,6 @@ export interface StartRecordingOptions {
41
18
  */
42
19
  forceRestart?: boolean;
43
20
  }
44
- /**
45
- * Record the Simulator's display in background while the automated test is running.
46
- * This method uses `xcrun simctl io recordVideo` helper under the hood.
47
- * Check the output of `xcrun simctl io` command for more details.
48
- *
49
- * @param options - The available options.
50
- * @throws {Error} If screen recording has failed to start or is not supported for the destination device.
51
- */
52
- export declare function startRecordingScreen(this: SafariDriver, options?: StartRecordingOptions): Promise<void>;
53
21
  export interface StopRecordingOptions {
54
22
  /** The path to the remote location, where the resulting video should be uploaded.
55
23
  * The following protocols are supported: http/https, ftp.
@@ -72,6 +40,38 @@ export interface StopRecordingOptions {
72
40
  /** Additional form fields for multipart http(s) uploads */
73
41
  formFields?: Record<string, string> | Array<[string, string]>;
74
42
  }
43
+ interface ScreenRecorderOptions {
44
+ codec?: string;
45
+ display?: string;
46
+ mask?: string;
47
+ timeLimit?: string | number;
48
+ }
49
+ export declare class ScreenRecorder {
50
+ private log;
51
+ private _process;
52
+ private _udid;
53
+ private _videoPath;
54
+ private _codec?;
55
+ private _display?;
56
+ private _mask?;
57
+ private _timeLimitMs;
58
+ private _timer;
59
+ constructor(udid: string, videoPath: string, log: AppiumLogger, opts?: ScreenRecorderOptions);
60
+ get isRunning(): boolean;
61
+ getVideoPath(): Promise<string>;
62
+ start(): Promise<void>;
63
+ stop(force?: boolean): Promise<string>;
64
+ private _enforceTermination;
65
+ }
66
+ /**
67
+ * Record the Simulator's display in background while the automated test is running.
68
+ * This method uses `xcrun simctl io recordVideo` helper under the hood.
69
+ * Check the output of `xcrun simctl io` command for more details.
70
+ *
71
+ * @param options - The available options.
72
+ * @throws {Error} If screen recording has failed to start or is not supported for the destination device.
73
+ */
74
+ export declare function startRecordingScreen(this: SafariDriver, options?: StartRecordingOptions): Promise<void>;
75
75
  /**
76
76
  * Stop recording the screen.
77
77
  * If no screen recording has been started before then the method returns an empty string.
@@ -1 +1 @@
1
- {"version":3,"file":"record-screen.d.ts","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,YAAY,EAAe,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAiD5C,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,MAAM,CAA+B;gBAG3C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE,qBAA0B;IAgB5B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAQrC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiEtB,IAAI,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;YA6BrC,mBAAmB;CAelC;AA4BD,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,mGAAmG;IACnG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
1
+ {"version":3,"file":"record-screen.d.ts","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAe,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,WAAW,CAAC;AAiD5C,MAAM,WAAW,qBAAqB;IACpC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,mGAAmG;IACnG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC/D;AAED,UAAU,qBAAqB;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAe;IAC1B,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,KAAK,CAAC,CAAS;IACvB,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,MAAM,CAA+B;gBAG3C,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,YAAY,EACjB,IAAI,GAAE,qBAA0B;IAgBlC,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAQ/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiEtB,IAAI,CAAC,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;YA6BrC,mBAAmB;CAelC;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,YAAY,EAClB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,MAAM,CAAC,CAmBjB"}
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.ScreenRecorder = void 0;
7
4
  exports.startRecordingScreen = startRecordingScreen;
8
5
  exports.stopRecordingScreen = stopRecordingScreen;
9
- const lodash_1 = __importDefault(require("lodash"));
10
6
  const support_1 = require("appium/support");
11
7
  const asyncbox_1 = require("asyncbox");
12
8
  const node_simctl_1 = require("node-simctl");
@@ -16,7 +12,7 @@ const DEFAULT_TIME_LIMIT_MS = 60 * 10 * 1000; // 10 minutes
16
12
  const PROCESS_SHUTDOWN_TIMEOUT_MS = 10 * 1000;
17
13
  const DEFAULT_EXT = '.mp4';
18
14
  async function uploadRecordedMedia(localFile, remotePath = null, uploadOptions = {}) {
19
- if (lodash_1.default.isEmpty(remotePath) || !remotePath) {
15
+ if (!remotePath) {
20
16
  return (await support_1.util.toInMemoryBase64(localFile)).toString();
21
17
  }
22
18
  const { user, pass, method, headers, fileFieldName, formFields } = uploadOptions;
@@ -65,6 +61,9 @@ class ScreenRecorder {
65
61
  }
66
62
  }
67
63
  }
64
+ get isRunning() {
65
+ return !!this._process?.isRunning;
66
+ }
68
67
  async getVideoPath() {
69
68
  if (await support_1.fs.exists(this._videoPath)) {
70
69
  VIDEO_FILES.add(this._videoPath);
@@ -72,9 +71,6 @@ class ScreenRecorder {
72
71
  }
73
72
  return '';
74
73
  }
75
- get isRunning() {
76
- return !!this._process?.isRunning;
77
- }
78
74
  async start() {
79
75
  const args = [this._udid, 'recordVideo'];
80
76
  if (this._display) {
@@ -93,7 +89,7 @@ class ScreenRecorder {
93
89
  });
94
90
  this.log.debug(`Starting video recording with arguments: ${support_1.util.quote(args)}`);
95
91
  this._process.on('output', (stdout, stderr) => {
96
- const line = lodash_1.default.trim(stdout || stderr);
92
+ const line = (stdout || stderr)?.trim() ?? '';
97
93
  if (line) {
98
94
  this.log.debug(`[recordVideo@${this._udid.substring(0, 8)}] ${line}`);
99
95
  }
@@ -179,26 +175,6 @@ class ScreenRecorder {
179
175
  }
180
176
  }
181
177
  exports.ScreenRecorder = ScreenRecorder;
182
- async function extractSimulatorUdid(caps) {
183
- if (caps['safari:useSimulator'] === false) {
184
- return null;
185
- }
186
- const allDevices = lodash_1.default.flatMap(lodash_1.default.values(await new node_simctl_1.Simctl().getDevices(null, 'iOS')));
187
- for (const { name, udid, state, sdk } of allDevices) {
188
- if (state !== 'Booted') {
189
- continue;
190
- }
191
- if (lodash_1.default.toLower(caps['safari:deviceUDID']) === lodash_1.default.toLower(udid)) {
192
- return udid;
193
- }
194
- if (lodash_1.default.toLower(caps['safari:deviceName']) === lodash_1.default.toLower(name) &&
195
- ((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
196
- !caps['safari:platformVersion'])) {
197
- return udid;
198
- }
199
- }
200
- return null;
201
- }
202
178
  /**
203
179
  * Record the Simulator's display in background while the automated test is running.
204
180
  * This method uses `xcrun simctl io recordVideo` helper under the hood.
@@ -264,10 +240,30 @@ async function stopRecordingScreen(options) {
264
240
  this.log.info('No video data is found. Returning an empty string');
265
241
  return '';
266
242
  }
267
- if (lodash_1.default.isEmpty(options?.remotePath)) {
243
+ if (!options?.remotePath) {
268
244
  const { size } = await support_1.fs.stat(videoPath);
269
245
  this.log.debug(`The size of the resulting screen recording is ${support_1.util.toReadableSizeString(size)}`);
270
246
  }
271
247
  return await uploadRecordedMedia(videoPath, options?.remotePath ?? null, options ?? {});
272
248
  }
249
+ async function extractSimulatorUdid(caps) {
250
+ if (caps['safari:useSimulator'] === false) {
251
+ return null;
252
+ }
253
+ const allDevices = Object.values(await new node_simctl_1.Simctl().getDevices(null, 'iOS')).flat();
254
+ for (const { name, udid, state, sdk } of allDevices) {
255
+ if (state !== 'Booted') {
256
+ continue;
257
+ }
258
+ if (caps['safari:deviceUDID']?.toLowerCase() === udid.toLowerCase()) {
259
+ return udid;
260
+ }
261
+ if (caps['safari:deviceName']?.toLowerCase() === name.toLowerCase() &&
262
+ ((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
263
+ !caps['safari:platformVersion'])) {
264
+ return udid;
265
+ }
266
+ }
267
+ return null;
268
+ }
273
269
  //# sourceMappingURL=record-screen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"record-screen.js","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":";;;;;;AA6QA,oDAwCC;AAoCD,kDAsBC;AA/WD,oDAAuB;AACvB,4CAAsD;AACtD,uCAA0C;AAC1C,6CAAmC;AAKnC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAChC,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC;AACrC,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAC3D,MAAM,2BAA2B,GAAG,EAAE,GAAG,IAAI,CAAC;AAC9C,MAAM,WAAW,GAAG,MAAM,CAAC;AAW3B,KAAK,UAAU,mBAAmB,CAChC,SAAiB,EACjB,aAA4B,IAAI,EAChC,gBAA+B,EAAE;IAEjC,IAAI,gBAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACzC,OAAO,CAAC,MAAM,cAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAC,GAAG,aAAa,CAAC;IAC/E,MAAM,OAAO,GAAQ;QACnB,MAAM,EAAE,MAAM,IAAI,KAAK;QACvB,OAAO;QACP,aAAa;QACb,UAAU;KACX,CAAC;IACF,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,GAAG,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;IAC9B,CAAC;IACD,MAAM,aAAG,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACrD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;AACtC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;IACtB,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;AACH,CAAC,CAAC,CAAC;AASH,MAAa,cAAc;IACjB,GAAG,CAAe;IAClB,QAAQ,GAAsB,IAAI,CAAC;IACnC,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,MAAM,CAAU;IAChB,QAAQ,CAAU;IAClB,KAAK,CAAU;IACf,YAAY,GAAW,qBAAqB,CAAC;IAC7C,MAAM,GAA0B,IAAI,CAAC;IAE7C,YACE,IAAY,EACZ,SAAiB,EACjB,GAAiB,EACjB,OAA8B,EAAE;QAEhC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,YAAY,GAAG,WAAW,GAAG,IAAI,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,IAAI,MAAM,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACjC,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,SAAS;QACX,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,GAAa,CAAC,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QACnD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,oBAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;YAC5C,IAAI;YACJ,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4CAA4C,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;YACtC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAChD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,IAAI,YAAY,MAAM,EAAE,CAAC,CAAC;YACrF,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC;YACH,MAAM,IAAA,2BAAgB,EACpB,KAAK,IAAI,EAAE;gBACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,EAAE,CAAC;gBACpB,CAAC;gBACD,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YACvC,CAAC,EACD;gBACE,MAAM,EAAE,kBAAkB;gBAC1B,UAAU,EAAE,mBAAmB;aAChC,CACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAC/B,oCAAoC,IAAI,CAAC,UAAU,0BAA0B,kBAAkB,MAAM;gBACnG,uCAAuC,CAC1C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;YAClC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpB,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oDAAoD,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;IAC3F,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAiB,KAAK;QAC/B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;YACzF,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAA2B,CAAC,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,6CAA6C,2BAA2B,IAAI,CAAC,CAAC;QAChG,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;YACvE,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,YAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3B,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAxJD,wCAwJC;AAED,KAAK,UAAU,oBAAoB,CAAC,IAAkB;IACpD,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,gBAAC,CAAC,OAAO,CAAC,gBAAC,CAAC,MAAM,CAAC,MAAM,IAAI,oBAAM,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACnF,KAAK,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAC,IAAI,UAAU,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IACE,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,KAAK,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,IAAI,CAAC,wBAAwB,CAAC,KAAK,GAAG,CAAC;gBACzE,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,EAClC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAqBD;;;;;;;GAOG;AACI,KAAK,UAAU,oBAAoB,CAExC,OAA+B;IAE/B,MAAM,EAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,EAAC,GAAG,OAAO,IAAI,EAAE,CAAC;IAC7E,IAAI,IAAI,CAAC,eAAe,EAAE,SAAS,EAAE,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAE5B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,4DAA4D;YAC1D,wCAAwC,CAC3C,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,iBAAO,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,cAAI,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,EAAE,WAAW;KACpB,CAAC,CAAC;IACH,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACnE,SAAS,EAAE,QAAQ,CAAC,GAAG,SAAS,EAAE,EAAE,EAAE,CAAC;QACvC,KAAK;QACL,OAAO;QACP,IAAI;KACL,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,MAAM,CAAC,CAAC;IACV,CAAC;AACH,CAAC;AAyBD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,mBAAmB,CAEvC,OAA8B;IAE9B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,gBAAC,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,YAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,iDAAiD,cAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CACnF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,mBAAmB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"record-screen.js","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,8 @@ import { type SafariConstraints } from './desired-caps';
5
5
  import * as cookieCommands from './commands/cookies';
6
6
  import * as findCommands from './commands/find';
7
7
  import * as recordScreenCommands from './commands/record-screen';
8
+ type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
8
9
  export declare class SafariDriver extends BaseDriver<SafariConstraints, StringRecord> implements ExternalDriver<SafariConstraints, string, StringRecord> {
9
- private isProxyActive;
10
- private _safari;
11
- proxyReqRes: ((...args: any[]) => any) | null;
12
- _screenRecorder: recordScreenCommands.ScreenRecorder | null;
13
10
  static newMethodMap: {
14
11
  readonly '/session/:sessionId/appium/start_recording_screen': {
15
12
  readonly POST: {
@@ -28,6 +25,14 @@ export declare class SafariDriver extends BaseDriver<SafariConstraints, StringRe
28
25
  };
29
26
  };
30
27
  };
28
+ proxyReqRes: ((...args: any[]) => any) | null;
29
+ _screenRecorder: recordScreenCommands.ScreenRecorder | null;
30
+ deleteCookies: typeof cookieCommands.deleteCookies;
31
+ findElOrEls: typeof findCommands.findElOrEls;
32
+ startRecordingScreen: typeof recordScreenCommands.startRecordingScreen;
33
+ stopRecordingScreen: typeof recordScreenCommands.stopRecordingScreen;
34
+ private isProxyActive;
35
+ private _safari;
31
36
  constructor(opts?: InitialOpts);
32
37
  get safari(): SafariDriverServer;
33
38
  proxyActive(): boolean;
@@ -36,11 +41,6 @@ export declare class SafariDriver extends BaseDriver<SafariConstraints, StringRe
36
41
  createSession(w3cCaps1: W3CSafariDriverCaps, w3cCaps2?: W3CSafariDriverCaps, w3cCaps3?: W3CSafariDriverCaps, driverData?: DriverData[]): Promise<DefaultCreateSessionResult<SafariConstraints>>;
37
42
  deleteSession(): Promise<void>;
38
43
  private resetState;
39
- deleteCookies: typeof cookieCommands.deleteCookies;
40
- findElOrEls: typeof findCommands.findElOrEls;
41
- startRecordingScreen: typeof recordScreenCommands.startRecordingScreen;
42
- stopRecordingScreen: typeof recordScreenCommands.stopRecordingScreen;
43
44
  }
44
45
  export default SafariDriver;
45
- type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
46
46
  //# sourceMappingURL=driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,UAAU,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAwB,KAAK,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,oBAAoB,MAAM,0BAA0B,CAAC;AAajE,qBAAa,YACX,SAAQ,UAAU,CAAC,iBAAiB,EAAE,YAAY,CAClD,YAAW,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC;IAElE,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,OAAO,CAA4B;IAC3C,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;IAE5D,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;MAAgB;gBAEvB,IAAI,GAAE,WAA+B;IAgBjD,IAAI,MAAM,IAAI,kBAAkB,CAK/B;IAEQ,WAAW,IAAI,OAAO;IAItB,iBAAiB,IAAI,YAAY,EAAE;IAInC,QAAQ,IAAI,OAAO;IAIb,aAAa,CAC1B,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,CAAC,EAAE,mBAAmB,EAC9B,QAAQ,CAAC,EAAE,mBAAmB,EAC9B,UAAU,CAAC,EAAE,UAAU,EAAE,GACxB,OAAO,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;IAgB1C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAS7C,OAAO,CAAC,UAAU;IAOlB,aAAa,sCAAgC;IAE7C,WAAW,kCAA4B;IAEvC,oBAAoB,mDAA6C;IACjE,mBAAmB,kDAA4C;CAChE;AAED,eAAe,YAAY,CAAC;AAE5B,KAAK,mBAAmB,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"driver.d.ts","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,UAAU,EACV,WAAW,EACX,YAAY,EACZ,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AACzC,OAAO,EAAC,kBAAkB,EAAC,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAwB,KAAK,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,oBAAoB,MAAM,0BAA0B,CAAC;AAajE,KAAK,mBAAmB,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAE5D,qBAAa,YACX,SAAQ,UAAU,CAAC,iBAAiB,EAAE,YAAY,CAClD,YAAW,cAAc,CAAC,iBAAiB,EAAE,MAAM,EAAE,YAAY,CAAC;IAElE,MAAM,CAAC,YAAY;;;;;;;;;;;;;;;;;MAAgB;IAEnC,WAAW,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC;IAC9C,eAAe,EAAE,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAC;IAE5D,aAAa,sCAAgC;IAE7C,WAAW,kCAA4B;IAEvC,oBAAoB,mDAA6C;IACjE,mBAAmB,kDAA4C;IAE/D,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,OAAO,CAA4B;gBAE/B,IAAI,GAAE,WAA+B;IAgBjD,IAAI,MAAM,IAAI,kBAAkB,CAK/B;IAEQ,WAAW,IAAI,OAAO;IAItB,iBAAiB,IAAI,YAAY,EAAE;IAInC,QAAQ,IAAI,OAAO;IAIb,aAAa,CAC1B,QAAQ,EAAE,mBAAmB,EAC7B,QAAQ,CAAC,EAAE,mBAAmB,EAC9B,QAAQ,CAAC,EAAE,mBAAmB,EAC9B,UAAU,CAAC,EAAE,UAAU,EAAE,GACxB,OAAO,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;IAgB1C,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAS7C,OAAO,CAAC,UAAU;CAMnB;AAED,eAAe,YAAY,CAAC"}
@@ -50,11 +50,15 @@ const NO_PROXY = [
50
50
  ['DELETE', new RegExp('^/session/[^/]+/cookie$')],
51
51
  ];
52
52
  class SafariDriver extends driver_1.BaseDriver {
53
- isProxyActive;
54
- _safari;
53
+ static newMethodMap = method_map_1.newMethodMap;
55
54
  proxyReqRes;
56
55
  _screenRecorder;
57
- static newMethodMap = method_map_1.newMethodMap;
56
+ deleteCookies = cookieCommands.deleteCookies;
57
+ findElOrEls = findCommands.findElOrEls;
58
+ startRecordingScreen = recordScreenCommands.startRecordingScreen;
59
+ stopRecordingScreen = recordScreenCommands.stopRecordingScreen;
60
+ isProxyActive;
61
+ _safari;
58
62
  constructor(opts = {}) {
59
63
  super(opts);
60
64
  this.desiredCapConstraints = desired_caps_1.desiredCapConstraints;
@@ -114,10 +118,6 @@ class SafariDriver extends driver_1.BaseDriver {
114
118
  this.isProxyActive = false;
115
119
  this._screenRecorder = null;
116
120
  }
117
- deleteCookies = cookieCommands.deleteCookies;
118
- findElOrEls = findCommands.findElOrEls;
119
- startRecordingScreen = recordScreenCommands.startRecordingScreen;
120
- stopRecordingScreen = recordScreenCommands.stopRecordingScreen;
121
121
  }
122
122
  exports.SafariDriver = SafariDriver;
123
123
  exports.default = SafariDriver;
@@ -1 +1 @@
1
- {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"safari.d.ts","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAS,MAAM,eAAe,CAAC;AAM9C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAYpF,cAAM,WAAY,SAAQ,OAAO;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IAEV,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,QAAe;CASnF;AAyED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,GAAG,EAAE,YAAY;IAI7B,IAAI,KAAK,IAAI,WAAW,CAKvB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DnE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAc5B;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"safari.d.ts","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,OAAO,EAAS,MAAM,eAAe,CAAC;AAM9C,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAYpF,cAAM,WAAY,SAAQ,OAAO;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IAEV,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,GAAE,QAAe;CASnF;AA0ED,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;gBAEvB,GAAG,EAAE,YAAY;IAI7B,IAAI,KAAK,IAAI,WAAW,CAKvB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;IAEK,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DnE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAc5B;AAED,eAAe,kBAAkB,CAAC"}
@@ -29,9 +29,9 @@ class SafariProxy extends driver_1.JWProxy {
29
29
  }
30
30
  }
31
31
  class SafariDriverProcess {
32
- log;
33
32
  port = null;
34
33
  proc = null;
34
+ log;
35
35
  constructor() {
36
36
  this.log = support_1.logger.getLogger('SafariDriverProcess');
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"safari.js","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safari.js","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
1
  import type { StringRecord } from '@appium/types';
2
+ /**
3
+ * Formats the given capabilities for use with Safari Driver Server.
4
+ * @param caps - The capabilities to format.
5
+ * @returns The formatted capabilities.
6
+ */
2
7
  declare function formatCapsForServer(caps: StringRecord): StringRecord;
3
8
  export { formatCapsForServer };
4
9
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAIhD,iBAAS,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAc7D;AAED,OAAO,EAAC,mBAAmB,EAAC,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAIhD;;;;GAIG;AACH,iBAAS,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAc7D;AAED,OAAO,EAAC,mBAAmB,EAAC,CAAC"}
@@ -1,23 +1,24 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.formatCapsForServer = formatCapsForServer;
7
4
  const driver_1 = require("appium/driver");
8
- const lodash_1 = __importDefault(require("lodash"));
9
5
  const SAFARI_CAP_PREFIXES = ['safari:', 'webkit:'];
6
+ /**
7
+ * Formats the given capabilities for use with Safari Driver Server.
8
+ * @param caps - The capabilities to format.
9
+ * @returns The formatted capabilities.
10
+ */
10
11
  function formatCapsForServer(caps) {
11
12
  const result = {
12
13
  browserName: 'Safari',
13
14
  browserVersion: caps.browserVersion,
14
15
  platformName: caps.platformName || 'iOS',
15
16
  };
16
- for (const [name, value] of lodash_1.default.toPairs(caps)) {
17
+ for (const [name, value] of Object.entries(caps)) {
17
18
  if (SAFARI_CAP_PREFIXES.some((prefix) => name.startsWith(prefix))) {
18
19
  result[name] = value;
19
20
  }
20
- else if (!lodash_1.default.has(result, name) && driver_1.STANDARD_CAPS.has(name)) {
21
+ else if (!Object.hasOwn(result, name) && driver_1.STANDARD_CAPS.has(name)) {
21
22
  result[name] = value;
22
23
  }
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":";;;;;AAsBQ,kDAAmB;AAtB3B,0CAA4C;AAC5C,oDAAuB;AAGvB,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEnD,SAAS,mBAAmB,CAAC,IAAkB;IAC7C,MAAM,MAAM,GAAiB;QAC3B,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;KACzC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,gBAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,gBAAC,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,CAAC,IAAW,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":";;AA0BQ,kDAAmB;AA1B3B,0CAA4C;AAG5C,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AAEnD;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,IAAkB;IAC7C,MAAM,MAAM,GAAiB;QAC3B,WAAW,EAAE,QAAQ;QACrB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;KACzC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,sBAAa,CAAC,GAAG,CAAC,IAAW,CAAC,EAAE,CAAC;YAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,4 +1,3 @@
1
- import _ from 'lodash';
2
1
  import {util, fs, net, tempDir} from 'appium/support';
3
2
  import {waitForCondition} from 'asyncbox';
4
3
  import {Simctl} from 'node-simctl';
@@ -26,7 +25,7 @@ async function uploadRecordedMedia(
26
25
  remotePath: string | null = null,
27
26
  uploadOptions: UploadOptions = {},
28
27
  ): Promise<string> {
29
- if (_.isEmpty(remotePath) || !remotePath) {
28
+ if (!remotePath) {
30
29
  return (await util.toInMemoryBase64(localFile)).toString();
31
30
  }
32
31
 
@@ -53,6 +52,48 @@ process.on('exit', () => {
53
52
  }
54
53
  });
55
54
 
55
+ export interface StartRecordingOptions {
56
+ /** Specifies the codec type: "h264" or "hevc" */
57
+ codec?: string;
58
+ /** Supports "internal" or "external". Default is "internal" */
59
+ display?: string;
60
+ /** For non-rectangular displays, handle the mask by policy:
61
+ * - ignored: The mask is ignored and the unmasked framebuffer is saved.
62
+ * - alpha: Not supported, but retained for compatibility; the mask is rendered black.
63
+ * - black: The mask is rendered black.
64
+ */
65
+ mask?: string;
66
+ /** The maximum recording time, in seconds. The default value is 600 seconds (10 minutes). */
67
+ timeLimit?: string | number;
68
+ /** Whether to ignore the call if a screen recording is currently running
69
+ * (`false`) or to start a new recording immediately and terminate the existing one if running (`true`).
70
+ */
71
+ forceRestart?: boolean;
72
+ }
73
+
74
+ export interface StopRecordingOptions {
75
+ /** The path to the remote location, where the resulting video should be uploaded.
76
+ * The following protocols are supported: http/https, ftp.
77
+ * Null or empty string value (the default setting) means the content of resulting
78
+ * file should be encoded as Base64 and passed as the endpoint response value.
79
+ * An exception will be thrown if the generated media file is too big to
80
+ * fit into the available process memory.
81
+ */
82
+ remotePath?: string;
83
+ /** The name of the user for the remote authentication. */
84
+ user?: string;
85
+ /** The password for the remote authentication. */
86
+ pass?: string;
87
+ /** The http multipart upload method name. The 'PUT' one is used by default. */
88
+ method?: string;
89
+ /** Additional headers mapping for multipart http(s) uploads */
90
+ headers?: Record<string, string>;
91
+ /** The name of the form field, where the file content BLOB should be stored for http(s) uploads */
92
+ fileFieldName?: string;
93
+ /** Additional form fields for multipart http(s) uploads */
94
+ formFields?: Record<string, string> | Array<[string, string]>;
95
+ }
96
+
56
97
  interface ScreenRecorderOptions {
57
98
  codec?: string;
58
99
  display?: string;
@@ -91,6 +132,10 @@ export class ScreenRecorder {
91
132
  }
92
133
  }
93
134
 
135
+ get isRunning(): boolean {
136
+ return !!this._process?.isRunning;
137
+ }
138
+
94
139
  async getVideoPath(): Promise<string> {
95
140
  if (await fs.exists(this._videoPath)) {
96
141
  VIDEO_FILES.add(this._videoPath);
@@ -99,10 +144,6 @@ export class ScreenRecorder {
99
144
  return '';
100
145
  }
101
146
 
102
- get isRunning(): boolean {
103
- return !!this._process?.isRunning;
104
- }
105
-
106
147
  async start(): Promise<void> {
107
148
  const args: string[] = [this._udid, 'recordVideo'];
108
149
  if (this._display) {
@@ -121,7 +162,7 @@ export class ScreenRecorder {
121
162
  });
122
163
  this.log.debug(`Starting video recording with arguments: ${util.quote(args)}`);
123
164
  this._process.on('output', (stdout, stderr) => {
124
- const line = _.trim(stdout || stderr);
165
+ const line = (stdout || stderr)?.trim() ?? '';
125
166
  if (line) {
126
167
  this.log.debug(`[recordVideo@${this._udid.substring(0, 8)}] ${line}`);
127
168
  }
@@ -214,51 +255,6 @@ export class ScreenRecorder {
214
255
  }
215
256
  }
216
257
 
217
- async function extractSimulatorUdid(caps: StringRecord): Promise<string | null> {
218
- if (caps['safari:useSimulator'] === false) {
219
- return null;
220
- }
221
-
222
- const allDevices = _.flatMap(_.values(await new Simctl().getDevices(null, 'iOS')));
223
- for (const {name, udid, state, sdk} of allDevices) {
224
- if (state !== 'Booted') {
225
- continue;
226
- }
227
-
228
- if (_.toLower(caps['safari:deviceUDID']) === _.toLower(udid)) {
229
- return udid;
230
- }
231
- if (
232
- _.toLower(caps['safari:deviceName']) === _.toLower(name) &&
233
- ((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
234
- !caps['safari:platformVersion'])
235
- ) {
236
- return udid;
237
- }
238
- }
239
-
240
- return null;
241
- }
242
-
243
- export interface StartRecordingOptions {
244
- /** Specifies the codec type: "h264" or "hevc" */
245
- codec?: string;
246
- /** Supports "internal" or "external". Default is "internal" */
247
- display?: string;
248
- /** For non-rectangular displays, handle the mask by policy:
249
- * - ignored: The mask is ignored and the unmasked framebuffer is saved.
250
- * - alpha: Not supported, but retained for compatibility; the mask is rendered black.
251
- * - black: The mask is rendered black.
252
- */
253
- mask?: string;
254
- /** The maximum recording time, in seconds. The default value is 600 seconds (10 minutes). */
255
- timeLimit?: string | number;
256
- /** Whether to ignore the call if a screen recording is currently running
257
- * (`false`) or to start a new recording immediately and terminate the existing one if running (`true`).
258
- */
259
- forceRestart?: boolean;
260
- }
261
-
262
258
  /**
263
259
  * Record the Simulator's display in background while the automated test is running.
264
260
  * This method uses `xcrun simctl io recordVideo` helper under the hood.
@@ -309,29 +305,6 @@ export async function startRecordingScreen(
309
305
  }
310
306
  }
311
307
 
312
- export interface StopRecordingOptions {
313
- /** The path to the remote location, where the resulting video should be uploaded.
314
- * The following protocols are supported: http/https, ftp.
315
- * Null or empty string value (the default setting) means the content of resulting
316
- * file should be encoded as Base64 and passed as the endpoint response value.
317
- * An exception will be thrown if the generated media file is too big to
318
- * fit into the available process memory.
319
- */
320
- remotePath?: string;
321
- /** The name of the user for the remote authentication. */
322
- user?: string;
323
- /** The password for the remote authentication. */
324
- pass?: string;
325
- /** The http multipart upload method name. The 'PUT' one is used by default. */
326
- method?: string;
327
- /** Additional headers mapping for multipart http(s) uploads */
328
- headers?: Record<string, string>;
329
- /** The name of the form field, where the file content BLOB should be stored for http(s) uploads */
330
- fileFieldName?: string;
331
- /** Additional form fields for multipart http(s) uploads */
332
- formFields?: Record<string, string> | Array<[string, string]>;
333
- }
334
-
335
308
  /**
336
309
  * Stop recording the screen.
337
310
  * If no screen recording has been started before then the method returns an empty string.
@@ -358,7 +331,7 @@ export async function stopRecordingScreen(
358
331
  this.log.info('No video data is found. Returning an empty string');
359
332
  return '';
360
333
  }
361
- if (_.isEmpty(options?.remotePath)) {
334
+ if (!options?.remotePath) {
362
335
  const {size} = await fs.stat(videoPath);
363
336
  this.log.debug(
364
337
  `The size of the resulting screen recording is ${util.toReadableSizeString(size)}`,
@@ -366,3 +339,29 @@ export async function stopRecordingScreen(
366
339
  }
367
340
  return await uploadRecordedMedia(videoPath, options?.remotePath ?? null, options ?? {});
368
341
  }
342
+
343
+ async function extractSimulatorUdid(caps: StringRecord): Promise<string | null> {
344
+ if (caps['safari:useSimulator'] === false) {
345
+ return null;
346
+ }
347
+
348
+ const allDevices = Object.values(await new Simctl().getDevices(null, 'iOS')).flat();
349
+ for (const {name, udid, state, sdk} of allDevices) {
350
+ if (state !== 'Booted') {
351
+ continue;
352
+ }
353
+
354
+ if (caps['safari:deviceUDID']?.toLowerCase() === udid.toLowerCase()) {
355
+ return udid;
356
+ }
357
+ if (
358
+ caps['safari:deviceName']?.toLowerCase() === name.toLowerCase() &&
359
+ ((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
360
+ !caps['safari:platformVersion'])
361
+ ) {
362
+ return udid;
363
+ }
364
+ }
365
+
366
+ return null;
367
+ }
package/lib/driver.ts CHANGED
@@ -25,16 +25,26 @@ const NO_PROXY: RouteMatcher[] = [
25
25
  ['DELETE', new RegExp('^/session/[^/]+/cookie$')],
26
26
  ];
27
27
 
28
+ type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
29
+
28
30
  export class SafariDriver
29
31
  extends BaseDriver<SafariConstraints, StringRecord>
30
32
  implements ExternalDriver<SafariConstraints, string, StringRecord>
31
33
  {
32
- private isProxyActive: boolean;
33
- private _safari: SafariDriverServer | null;
34
+ static newMethodMap = newMethodMap;
35
+
34
36
  proxyReqRes: ((...args: any[]) => any) | null;
35
37
  _screenRecorder: recordScreenCommands.ScreenRecorder | null;
36
38
 
37
- static newMethodMap = newMethodMap;
39
+ deleteCookies = cookieCommands.deleteCookies;
40
+
41
+ findElOrEls = findCommands.findElOrEls;
42
+
43
+ startRecordingScreen = recordScreenCommands.startRecordingScreen;
44
+ stopRecordingScreen = recordScreenCommands.stopRecordingScreen;
45
+
46
+ private isProxyActive: boolean;
47
+ private _safari: SafariDriverServer | null;
38
48
 
39
49
  constructor(opts: InitialOpts = {} as InitialOpts) {
40
50
  super(opts);
@@ -107,15 +117,6 @@ export class SafariDriver
107
117
  this.isProxyActive = false;
108
118
  this._screenRecorder = null;
109
119
  }
110
-
111
- deleteCookies = cookieCommands.deleteCookies;
112
-
113
- findElOrEls = findCommands.findElOrEls;
114
-
115
- startRecordingScreen = recordScreenCommands.startRecordingScreen;
116
- stopRecordingScreen = recordScreenCommands.stopRecordingScreen;
117
120
  }
118
121
 
119
122
  export default SafariDriver;
120
-
121
- type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
package/lib/safari.ts CHANGED
@@ -33,10 +33,11 @@ class SafariProxy extends JWProxy {
33
33
  }
34
34
 
35
35
  class SafariDriverProcess {
36
- private readonly log: AppiumLogger;
37
36
  public port: number | null = null;
38
37
  public proc: SubProcess | null = null;
39
38
 
39
+ private readonly log: AppiumLogger;
40
+
40
41
  constructor() {
41
42
  this.log = logger.getLogger('SafariDriverProcess');
42
43
  }
package/lib/utils.ts CHANGED
@@ -1,19 +1,23 @@
1
1
  import {STANDARD_CAPS} from 'appium/driver';
2
- import _ from 'lodash';
3
2
  import type {StringRecord} from '@appium/types';
4
3
 
5
4
  const SAFARI_CAP_PREFIXES = ['safari:', 'webkit:'];
6
5
 
6
+ /**
7
+ * Formats the given capabilities for use with Safari Driver Server.
8
+ * @param caps - The capabilities to format.
9
+ * @returns The formatted capabilities.
10
+ */
7
11
  function formatCapsForServer(caps: StringRecord): StringRecord {
8
12
  const result: StringRecord = {
9
13
  browserName: 'Safari',
10
14
  browserVersion: caps.browserVersion,
11
15
  platformName: caps.platformName || 'iOS',
12
16
  };
13
- for (const [name, value] of _.toPairs(caps)) {
17
+ for (const [name, value] of Object.entries(caps)) {
14
18
  if (SAFARI_CAP_PREFIXES.some((prefix) => name.startsWith(prefix))) {
15
19
  result[name] = value;
16
- } else if (!_.has(result, name) && STANDARD_CAPS.has(name as any)) {
20
+ } else if (!Object.hasOwn(result, name) && STANDARD_CAPS.has(name as any)) {
17
21
  result[name] = value;
18
22
  }
19
23
  }
@@ -1,17 +1,16 @@
1
1
  {
2
2
  "name": "appium-safari-driver",
3
- "version": "4.1.12",
3
+ "version": "4.1.14",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "appium-safari-driver",
9
- "version": "4.1.12",
9
+ "version": "4.1.14",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "asyncbox": "^6.1.0",
13
13
  "bluebird": "^3.5.1",
14
- "lodash": "^4.17.4",
15
14
  "node-simctl": "^8.0.0",
16
15
  "portscanner": "2.2.0",
17
16
  "teen_process": "^4.0.4"
@@ -23,7 +22,6 @@
23
22
  "@semantic-release/changelog": "^6.0.1",
24
23
  "@semantic-release/git": "^10.0.1",
25
24
  "@types/bluebird": "^3.5.38",
26
- "@types/lodash": "^4.14.196",
27
25
  "@types/mocha": "^10.0.1",
28
26
  "@types/node": "^25.0.0",
29
27
  "chai": "^6.0.0",
@@ -45,14 +43,14 @@
45
43
  }
46
44
  },
47
45
  "node_modules/@appium/logger": {
48
- "version": "2.0.6",
49
- "resolved": "https://registry.npmjs.org/@appium/logger/-/logger-2.0.6.tgz",
50
- "integrity": "sha512-9e8n9CtINBwi1ASEU5OyswmR2F7OnbrGfmf9yTy9i+rx4GR9RJlEp0/arsxvuyWCep67tOmM4FiRyXxxHjOK5Q==",
46
+ "version": "2.0.7",
47
+ "resolved": "https://registry.npmjs.org/@appium/logger/-/logger-2.0.7.tgz",
48
+ "integrity": "sha512-WqagwYDZlPsSkICrXL9wB1E7qgErnwmYc/Q6NLVAC2ckXkWioh3fZ49AK5zevbJCnnkQbU2y8497Mk4xWDetkg==",
51
49
  "license": "ISC",
52
50
  "dependencies": {
53
51
  "console-control-strings": "1.1.0",
54
52
  "lodash": "4.18.1",
55
- "lru-cache": "11.3.3",
53
+ "lru-cache": "11.3.5",
56
54
  "set-blocking": "2.0.0"
57
55
  },
58
56
  "engines": {
@@ -87,15 +85,15 @@
87
85
  }
88
86
  },
89
87
  "node_modules/@appium/types": {
90
- "version": "1.3.0",
91
- "resolved": "https://registry.npmjs.org/@appium/types/-/types-1.3.0.tgz",
92
- "integrity": "sha512-Gv4ev/5K5N7TvAHqem2DmB50zipC951QlmCDpuxDNHQl2dtCr20vJgnN8if7upqLcBX/6yNp3udR+f1n99zgcQ==",
88
+ "version": "1.3.1",
89
+ "resolved": "https://registry.npmjs.org/@appium/types/-/types-1.3.1.tgz",
90
+ "integrity": "sha512-SWTntQ8EAI1m6P2LWqcqASGkRLk5HiKv2V2x7DSfknS8AsiF2ymr6T6oPJ7hUrTkEUA/3ncTSZji5Oq4h5TjzA==",
93
91
  "license": "Apache-2.0",
94
92
  "dependencies": {
95
- "@appium/logger": "2.0.6",
93
+ "@appium/logger": "2.0.7",
96
94
  "@appium/schema": "1.1.0",
97
95
  "@appium/tsconfig": "1.1.2",
98
- "type-fest": "5.5.0"
96
+ "type-fest": "5.6.0"
99
97
  },
100
98
  "engines": {
101
99
  "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
@@ -437,9 +435,9 @@
437
435
  }
438
436
  },
439
437
  "node_modules/b4a": {
440
- "version": "1.8.0",
441
- "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.0.tgz",
442
- "integrity": "sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==",
438
+ "version": "1.8.1",
439
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.8.1.tgz",
440
+ "integrity": "sha512-aiqre1Nr0B/6DgE2N5vwTc+2/oQZ4Wh1t4NznYY4E00y8LCt6NqdRv81so00oo27D8MVKTpUa/MwUUtBLXCoDw==",
443
441
  "extraneous": true,
444
442
  "license": "Apache-2.0",
445
443
  "peerDependencies": {
@@ -499,9 +497,9 @@
499
497
  }
500
498
  },
501
499
  "node_modules/bare-os": {
502
- "version": "3.8.7",
503
- "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.8.7.tgz",
504
- "integrity": "sha512-G4Gr1UsGeEy2qtDTZwL7JFLo2wapUarz7iTMcYcMFdS89AIQuBoyjgXZz0Utv7uHs3xA9LckhVbeBi8lEQrC+w==",
500
+ "version": "3.9.0",
501
+ "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.9.0.tgz",
502
+ "integrity": "sha512-JTjuZyNIDpw+GytMO4a6TK1VXdVKKJr6DRxEHasyuYyShV2deuiHJK/ahGZlebc+SG0/wJCB9XK8gprBGDFi/Q==",
505
503
  "extraneous": true,
506
504
  "license": "Apache-2.0",
507
505
  "engines": {
@@ -519,9 +517,9 @@
519
517
  }
520
518
  },
521
519
  "node_modules/bare-stream": {
522
- "version": "2.13.0",
523
- "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.0.tgz",
524
- "integrity": "sha512-3zAJRZMDFGjdn+RVnNpF9kuELw+0Fl3lpndM4NcEOhb9zwtSo/deETfuIwMSE5BXanA0FrN1qVjffGwAg2Y7EA==",
520
+ "version": "2.13.1",
521
+ "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.13.1.tgz",
522
+ "integrity": "sha512-Vp0cnjYyrEC4whYTymQ+YZi6pBpfiICZO3cfRG8sy67ZNWe951urv1x4eW1BKNngw3U+3fPYb5JQvHbCtxH7Ow==",
525
523
  "extraneous": true,
526
524
  "license": "Apache-2.0",
527
525
  "dependencies": {
@@ -546,9 +544,9 @@
546
544
  }
547
545
  },
548
546
  "node_modules/bare-url": {
549
- "version": "2.4.0",
550
- "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.0.tgz",
551
- "integrity": "sha512-NSTU5WN+fy/L0DDenfE8SXQna4voXuW0FHM7wH8i3/q9khUSchfPbPezO4zSFMnDGIf9YE+mt/RWhZgNRKRIXA==",
547
+ "version": "2.4.2",
548
+ "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.4.2.tgz",
549
+ "integrity": "sha512-/9a2j4ac6ckpmAHvod/ob7x439OAHst/drc2Clnq+reRYd/ovddwcF4LfoxHyNk5AuGBnPg+HqFjmE/Zpq6v0A==",
552
550
  "extraneous": true,
553
551
  "license": "Apache-2.0",
554
552
  "dependencies": {
@@ -1244,9 +1242,9 @@
1244
1242
  "license": "MIT"
1245
1243
  },
1246
1244
  "node_modules/lru-cache": {
1247
- "version": "11.3.3",
1248
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.3.tgz",
1249
- "integrity": "sha512-JvNw9Y81y33E+BEYPr0U7omo+U9AySnsMsEiXgwT6yqd31VQWTLNQqmT4ou5eqPFUrTfIDFta2wKhB1hyohtAQ==",
1245
+ "version": "11.3.5",
1246
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.3.5.tgz",
1247
+ "integrity": "sha512-NxVFwLAnrd9i7KUBxC4DrUhmgjzOs+1Qm50D3oF1/oL+r1NpZ4gA7xvG0/zJ8evR7zIKn4vLf7qTNduWFtCrRw==",
1250
1248
  "license": "BlueOak-1.0.0",
1251
1249
  "engines": {
1252
1250
  "node": "20 || >=22"
@@ -1279,19 +1277,16 @@
1279
1277
  "license": "MIT"
1280
1278
  },
1281
1279
  "node_modules/node-simctl": {
1282
- "version": "8.1.7",
1283
- "resolved": "https://registry.npmjs.org/node-simctl/-/node-simctl-8.1.7.tgz",
1284
- "integrity": "sha512-Kue/EfM/kpGtiAymTHD3xRL2rqHEpgFPcNKxmqIq/OvX3u0ylXxDVrtQ5C60Q2Suuwxa7jn9nmcm/VjCE9jPwA==",
1280
+ "version": "8.2.1",
1281
+ "resolved": "https://registry.npmjs.org/node-simctl/-/node-simctl-8.2.1.tgz",
1282
+ "integrity": "sha512-1TINHk372IOVjVKPADOqwjU42fPi1S8Db+jJu5G83AHwsniewZdt1rG4dYzGRV+mcLWzg8GlIy1pE5ldpRdZYw==",
1285
1283
  "license": "Apache-2.0",
1286
1284
  "dependencies": {
1287
1285
  "@appium/logger": "^2.0.0-rc.1",
1288
1286
  "asyncbox": "^6.0.1",
1289
- "bluebird": "^3.5.1",
1290
- "lodash": "^4.2.1",
1291
1287
  "rimraf": "^6.0.1",
1292
1288
  "semver": "^7.0.0",
1293
1289
  "teen_process": "^4.0.4",
1294
- "uuid": "^13.0.0",
1295
1290
  "which": "^6.0.0"
1296
1291
  },
1297
1292
  "engines": {
@@ -1701,14 +1696,7 @@
1701
1696
  "spdx-license-ids": "^3.0.0"
1702
1697
  }
1703
1698
  },
1704
- "node_modules/spdx-exceptions": {
1705
- "version": "2.5.0",
1706
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
1707
- "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
1708
- "extraneous": true,
1709
- "license": "CC-BY-3.0"
1710
- },
1711
- "node_modules/spdx-expression-parse": {
1699
+ "node_modules/spdx-correct/node_modules/spdx-expression-parse": {
1712
1700
  "version": "3.0.1",
1713
1701
  "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
1714
1702
  "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
@@ -1719,6 +1707,13 @@
1719
1707
  "spdx-license-ids": "^3.0.0"
1720
1708
  }
1721
1709
  },
1710
+ "node_modules/spdx-exceptions": {
1711
+ "version": "2.5.0",
1712
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
1713
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
1714
+ "extraneous": true,
1715
+ "license": "CC-BY-3.0"
1716
+ },
1722
1717
  "node_modules/spdx-license-ids": {
1723
1718
  "version": "3.0.23",
1724
1719
  "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz",
@@ -1873,9 +1868,9 @@
1873
1868
  }
1874
1869
  },
1875
1870
  "node_modules/tar-stream": {
1876
- "version": "3.1.8",
1877
- "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.8.tgz",
1878
- "integrity": "sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==",
1871
+ "version": "3.2.0",
1872
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.2.0.tgz",
1873
+ "integrity": "sha512-ojzvCvVaNp6aOTFmG7jaRD0meowIAuPc3cMMhSgKiVWws1GyHbGd/xvnyuRKcKlMpt3qvxx6r0hreCNITP9hIg==",
1879
1874
  "extraneous": true,
1880
1875
  "license": "MIT",
1881
1876
  "dependencies": {
@@ -1886,9 +1881,9 @@
1886
1881
  }
1887
1882
  },
1888
1883
  "node_modules/teen_process": {
1889
- "version": "4.1.1",
1890
- "resolved": "https://registry.npmjs.org/teen_process/-/teen_process-4.1.1.tgz",
1891
- "integrity": "sha512-E9gaYuVaWrvbxzZDgZ/MjWkPKqiKETBWSRy06qz1GOyKU22mI76JrxzaGbeddcHcmW8ZFXPowPv1ad3a7S+Xvg==",
1884
+ "version": "4.1.2",
1885
+ "resolved": "https://registry.npmjs.org/teen_process/-/teen_process-4.1.2.tgz",
1886
+ "integrity": "sha512-MLmWBU1vLjzYuz0BMWtEnriZl9ikFiCQWUKTmVIhnOErJ7jlHOIUEaqrPFGr0lCMxN6hhUl5pPGc3ya7Huj3jA==",
1892
1887
  "license": "Apache-2.0",
1893
1888
  "dependencies": {
1894
1889
  "lodash": "^4.17.21",
@@ -1927,9 +1922,9 @@
1927
1922
  "license": "0BSD"
1928
1923
  },
1929
1924
  "node_modules/type-fest": {
1930
- "version": "5.5.0",
1931
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.5.0.tgz",
1932
- "integrity": "sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==",
1925
+ "version": "5.6.0",
1926
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.6.0.tgz",
1927
+ "integrity": "sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==",
1933
1928
  "license": "(MIT OR CC0-1.0)",
1934
1929
  "dependencies": {
1935
1930
  "tagged-tag": "^1.0.0"
@@ -1961,19 +1956,6 @@
1961
1956
  "extraneous": true,
1962
1957
  "license": "MIT"
1963
1958
  },
1964
- "node_modules/uuid": {
1965
- "version": "13.0.0",
1966
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz",
1967
- "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==",
1968
- "funding": [
1969
- "https://github.com/sponsors/broofa",
1970
- "https://github.com/sponsors/ctavan"
1971
- ],
1972
- "license": "MIT",
1973
- "bin": {
1974
- "uuid": "dist-node/bin/uuid"
1975
- }
1976
- },
1977
1959
  "node_modules/validate-npm-package-license": {
1978
1960
  "version": "3.0.4",
1979
1961
  "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@@ -1985,6 +1967,17 @@
1985
1967
  "spdx-expression-parse": "^3.0.0"
1986
1968
  }
1987
1969
  },
1970
+ "node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": {
1971
+ "version": "3.0.1",
1972
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
1973
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
1974
+ "extraneous": true,
1975
+ "license": "MIT",
1976
+ "dependencies": {
1977
+ "spdx-exceptions": "^2.1.0",
1978
+ "spdx-license-ids": "^3.0.0"
1979
+ }
1980
+ },
1988
1981
  "node_modules/which": {
1989
1982
  "version": "6.0.1",
1990
1983
  "resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "appium",
6
6
  "safari"
7
7
  ],
8
- "version": "4.1.12",
8
+ "version": "4.1.14",
9
9
  "author": "Appium Contributors",
10
10
  "license": "Apache-2.0",
11
11
  "repository": {
@@ -49,7 +49,6 @@
49
49
  "dependencies": {
50
50
  "asyncbox": "^6.1.0",
51
51
  "bluebird": "^3.5.1",
52
- "lodash": "^4.17.4",
53
52
  "node-simctl": "^8.0.0",
54
53
  "portscanner": "2.2.0",
55
54
  "teen_process": "^4.0.4"
@@ -77,7 +76,6 @@
77
76
  "@semantic-release/changelog": "^6.0.1",
78
77
  "@semantic-release/git": "^10.0.1",
79
78
  "@types/bluebird": "^3.5.38",
80
- "@types/lodash": "^4.14.196",
81
79
  "@types/mocha": "^10.0.1",
82
80
  "@types/node": "^25.0.0",
83
81
  "chai": "^6.0.0",