appium-safari-driver 5.0.5 → 5.0.6
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 +6 -0
- package/build/lib/commands/find.d.ts.map +1 -1
- package/build/lib/commands/find.js.map +1 -1
- package/build/lib/commands/record-screen.d.ts.map +1 -1
- package/build/lib/commands/record-screen.js +2 -4
- package/build/lib/commands/record-screen.js.map +1 -1
- package/build/lib/driver.d.ts +2 -2
- package/build/lib/driver.d.ts.map +1 -1
- package/build/lib/driver.js +3 -3
- package/build/lib/driver.js.map +1 -1
- package/build/lib/method-map.d.ts.map +1 -1
- package/build/lib/method-map.js.map +1 -1
- package/build/lib/safari.d.ts +1 -1
- package/build/lib/safari.d.ts.map +1 -1
- package/build/lib/safari.js +7 -5
- package/build/lib/safari.js.map +1 -1
- package/build/lib/utils.d.ts.map +1 -1
- package/build/lib/utils.js.map +1 -1
- package/lib/commands/find.ts +1 -0
- package/lib/commands/record-screen.ts +8 -24
- package/lib/driver.ts +4 -3
- package/lib/method-map.ts +2 -1
- package/lib/safari.ts +9 -11
- package/lib/utils.ts +1 -1
- package/npm-shrinkwrap.json +18 -59
- package/package.json +38 -48
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [5.0.6](https://github.com/appium/appium-safari-driver/compare/v5.0.5...v5.0.6) (2026-07-27)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* Integrate oxc and release configs ([#187](https://github.com/appium/appium-safari-driver/issues/187)) ([dc4697f](https://github.com/appium/appium-safari-driver/commit/dc4697f7a189221b923d1015e6dd54f6e3507123))
|
|
6
|
+
|
|
1
7
|
## [5.0.5](https://github.com/appium/appium-safari-driver/compare/v5.0.4...v5.0.5) (2026-07-27)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAE/C;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,GAAG,CAAC,CAMd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../lib/commands/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAIvC;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAE/B,QAAgB,EAChB,QAAgB,EAChB,IAAa,EACb,OAAgB;IAEhB,MAAM,QAAQ,GAAG,WAAW,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACzG,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE;QACvD,KAAK,EAAE,QAAQ;QACf,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-screen.d.ts","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"record-screen.d.ts","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAe,MAAM,eAAe,CAAC;AAM9D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAiD/C,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;gBAEjC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,GAAE,qBAA0B;IAehG,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,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC7G;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB7G"}
|
|
@@ -191,8 +191,7 @@ export async function startRecordingScreen(options) {
|
|
|
191
191
|
this._screenRecorder = null;
|
|
192
192
|
const udid = await extractSimulatorUdid(this.caps);
|
|
193
193
|
if (!udid) {
|
|
194
|
-
throw new Error('Cannot determine Simulator UDID to record the video from. '
|
|
195
|
-
'Double check your session capabilities');
|
|
194
|
+
throw new Error('Cannot determine Simulator UDID to record the video from. Double check your session capabilities');
|
|
196
195
|
}
|
|
197
196
|
const videoPath = await tempDir.path({
|
|
198
197
|
prefix: util.uuidV4().substring(0, 8),
|
|
@@ -253,8 +252,7 @@ async function extractSimulatorUdid(caps) {
|
|
|
253
252
|
return udid;
|
|
254
253
|
}
|
|
255
254
|
if (caps['safari:deviceName']?.toLowerCase() === name.toLowerCase() &&
|
|
256
|
-
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
|
|
257
|
-
!caps['safari:platformVersion'])) {
|
|
255
|
+
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) || !caps['safari:platformVersion'])) {
|
|
258
256
|
return udid;
|
|
259
257
|
}
|
|
260
258
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-screen.js","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"record-screen.js","sourceRoot":"","sources":["../../../lib/commands/record-screen.ts"],"names":[],"mappings":"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"}
|
package/build/lib/driver.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { RouteMatcher, DefaultCreateSessionResult, DriverData, InitialOpts, StringRecord, ExternalDriver, W3CDriverCaps } from '@appium/types';
|
|
2
2
|
import { BaseDriver } from 'appium/driver.js';
|
|
3
|
-
import { SafariDriverServer } from './safari.js';
|
|
4
|
-
import { type SafariConstraints } from './desired-caps.js';
|
|
5
3
|
import * as cookieCommands from './commands/cookies.js';
|
|
6
4
|
import * as findCommands from './commands/find.js';
|
|
7
5
|
import * as recordScreenCommands from './commands/record-screen.js';
|
|
6
|
+
import { type SafariConstraints } from './desired-caps.js';
|
|
7
|
+
import { SafariDriverServer } from './safari.js';
|
|
8
8
|
type W3CSafariDriverCaps = W3CDriverCaps<SafariConstraints>;
|
|
9
9
|
export declare class SafariDriver extends BaseDriver<SafariConstraints, StringRecord> implements ExternalDriver<SafariConstraints, string, StringRecord> {
|
|
10
10
|
static newMethodMap: {
|
|
@@ -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,kBAAkB,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,kBAAkB,CAAC;AAE5C,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,oBAAoB,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAwB,KAAK,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEhF,OAAO,EAAC,kBAAkB,EAAC,MAAM,aAAa,CAAC;AAY/C,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,CAAQ;IACrD,eAAe,EAAE,oBAAoB,CAAC,cAAc,GAAG,IAAI,CAAQ;IAEnE,aAAa,sCAAgC;IAE7C,WAAW,kCAA4B;IAEvC,oBAAoB,mDAA6C;IACjE,mBAAmB,kDAA4C;IAE/D,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,OAAO,CAAmC;gBAEtC,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"}
|
package/build/lib/driver.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BaseDriver } from 'appium/driver.js';
|
|
2
|
-
import { SafariDriverServer } from './safari.js';
|
|
3
|
-
import { desiredCapConstraints } from './desired-caps.js';
|
|
4
2
|
import * as cookieCommands from './commands/cookies.js';
|
|
5
3
|
import * as findCommands from './commands/find.js';
|
|
6
4
|
import * as recordScreenCommands from './commands/record-screen.js';
|
|
7
|
-
import {
|
|
5
|
+
import { desiredCapConstraints } from './desired-caps.js';
|
|
8
6
|
import { newMethodMap } from './method-map.js';
|
|
7
|
+
import { SafariDriverServer } from './safari.js';
|
|
8
|
+
import { formatCapsForServer } from './utils.js';
|
|
9
9
|
const NO_PROXY = [
|
|
10
10
|
['GET', new RegExp('^/session/[^/]+/appium')],
|
|
11
11
|
['POST', new RegExp('^/session/[^/]+/appium')],
|
package/build/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../../lib/driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-map.d.ts","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"method-map.d.ts","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;CAamB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method-map.js","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"method-map.js","sourceRoot":"","sources":["../../lib/method-map.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,mDAAmD,EAAE;QACnD,IAAI,EAAE;YACJ,OAAO,EAAE,sBAAsB;YAC/B,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAC;SACvC;KACF;IACD,kDAAkD,EAAE;QAClD,IAAI,EAAE;YACJ,OAAO,EAAE,qBAAqB;YAC9B,aAAa,EAAE,EAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,EAAC;SACvC;KACF;CACyC,CAAC"}
|
package/build/lib/safari.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { JWProxy } from 'appium/driver.js';
|
|
2
1
|
import type { AppiumLogger, StringRecord, HTTPMethod, HTTPBody } from '@appium/types';
|
|
2
|
+
import { JWProxy } from 'appium/driver.js';
|
|
3
3
|
declare class SafariProxy extends JWProxy {
|
|
4
4
|
didProcessExit?: boolean;
|
|
5
5
|
proxyCommand(url: string, method: HTTPMethod, body?: HTTPBody): Promise<[import("@appium/types").ProxyResponse<any>, any]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari.d.ts","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"safari.d.ts","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AACpF,OAAO,EAAC,OAAO,EAAS,MAAM,kBAAkB,CAAC;AAgBjD,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;AAuED,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;IA+DnE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAc5B;AAED,eAAe,kBAAkB,CAAC"}
|
package/build/lib/safari.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
1
2
|
import os from 'node:os';
|
|
2
3
|
import path from 'node:path';
|
|
3
4
|
import { JWProxy, errors } from 'appium/driver.js';
|
|
4
5
|
import { fs, logger, util } from 'appium/support.js';
|
|
5
|
-
import { SubProcess } from 'teen_process';
|
|
6
6
|
import { waitForCondition } from 'asyncbox';
|
|
7
7
|
import { findAPortNotInUse } from 'portscanner';
|
|
8
|
-
import {
|
|
8
|
+
import { SubProcess } from 'teen_process';
|
|
9
9
|
const SD_BINARY = 'safaridriver';
|
|
10
10
|
const STARTUP_TIMEOUT = 10000; // seconds
|
|
11
11
|
const SAFARI_PORT_RANGE = [5100, 5200];
|
|
12
12
|
// This guard is needed to make sure
|
|
13
13
|
// we never run multiple Safari driver processes for the same Appium process
|
|
14
|
-
const SAFARI_SERVER_GUARD = util.getLockFileGuard(path.resolve(os.tmpdir(), 'safari_server_guard.lock'), {
|
|
14
|
+
const SAFARI_SERVER_GUARD = util.getLockFileGuard(path.resolve(os.tmpdir(), 'safari_server_guard.lock'), {
|
|
15
|
+
timeout: 5,
|
|
16
|
+
tryRecovery: true,
|
|
17
|
+
});
|
|
15
18
|
class SafariProxy extends JWProxy {
|
|
16
19
|
didProcessExit;
|
|
17
20
|
async proxyCommand(url, method, body = null) {
|
|
@@ -51,8 +54,7 @@ class SafariDriverProcess {
|
|
|
51
54
|
safariBin = await fs.which(SD_BINARY);
|
|
52
55
|
}
|
|
53
56
|
catch {
|
|
54
|
-
throw new Error(`${SD_BINARY} binary cannot be found in PATH. `
|
|
55
|
-
`Please make sure it is present on your system`);
|
|
57
|
+
throw new Error(`${SD_BINARY} binary cannot be found in PATH. Please make sure it is present on your system`);
|
|
56
58
|
}
|
|
57
59
|
this.proc = new SubProcess(safariBin, ['-p', String(this.port), '--diagnose']);
|
|
58
60
|
this.proc.on('output', (stdout, stderr) => {
|
package/build/lib/safari.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safari.js","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"safari.js","sourceRoot":"","sources":["../../lib/safari.ts"],"names":[],"mappings":"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"}
|
package/build/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAKhD;;;;GAIG;AACH,iBAAS,mBAAmB,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAc7D;AAED,OAAO,EAAC,mBAAmB,EAAC,CAAC"}
|
package/build/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,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,aAAa,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;AAED,OAAO,EAAC,mBAAmB,EAAC,CAAC"}
|
package/lib/commands/find.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type {AppiumLogger, StringRecord} from '@appium/types';
|
|
1
2
|
import {util, fs, net, tempDir} from 'appium/support.js';
|
|
2
3
|
import {waitForCondition} from 'asyncbox';
|
|
3
4
|
import {Simctl} from 'node-simctl';
|
|
4
5
|
import type {SubProcess} from 'teen_process';
|
|
5
|
-
|
|
6
|
+
|
|
6
7
|
import type {SafariDriver} from '../driver.js';
|
|
7
8
|
|
|
8
9
|
const STARTUP_INTERVAL_MS = 300;
|
|
@@ -112,12 +113,7 @@ export class ScreenRecorder {
|
|
|
112
113
|
private _timeLimitMs: number = DEFAULT_TIME_LIMIT_MS;
|
|
113
114
|
private _timer: NodeJS.Timeout | null = null;
|
|
114
115
|
|
|
115
|
-
constructor(
|
|
116
|
-
udid: string,
|
|
117
|
-
videoPath: string,
|
|
118
|
-
log: AppiumLogger,
|
|
119
|
-
opts: ScreenRecorderOptions = {},
|
|
120
|
-
) {
|
|
116
|
+
constructor(udid: string, videoPath: string, log: AppiumLogger, opts: ScreenRecorderOptions = {}) {
|
|
121
117
|
this.log = log;
|
|
122
118
|
this._udid = udid;
|
|
123
119
|
this._videoPath = videoPath;
|
|
@@ -263,10 +259,7 @@ export class ScreenRecorder {
|
|
|
263
259
|
* @param options - The available options.
|
|
264
260
|
* @throws {Error} If screen recording has failed to start or is not supported for the destination device.
|
|
265
261
|
*/
|
|
266
|
-
export async function startRecordingScreen(
|
|
267
|
-
this: SafariDriver,
|
|
268
|
-
options?: StartRecordingOptions,
|
|
269
|
-
): Promise<void> {
|
|
262
|
+
export async function startRecordingScreen(this: SafariDriver, options?: StartRecordingOptions): Promise<void> {
|
|
270
263
|
const {timeLimit, codec, display, mask, forceRestart = true} = options ?? {};
|
|
271
264
|
if (this._screenRecorder?.isRunning) {
|
|
272
265
|
this.log.info('The screen recording is already running');
|
|
@@ -281,10 +274,7 @@ export async function startRecordingScreen(
|
|
|
281
274
|
|
|
282
275
|
const udid = await extractSimulatorUdid(this.caps);
|
|
283
276
|
if (!udid) {
|
|
284
|
-
throw new Error(
|
|
285
|
-
'Cannot determine Simulator UDID to record the video from. ' +
|
|
286
|
-
'Double check your session capabilities',
|
|
287
|
-
);
|
|
277
|
+
throw new Error('Cannot determine Simulator UDID to record the video from. Double check your session capabilities');
|
|
288
278
|
}
|
|
289
279
|
|
|
290
280
|
const videoPath = await tempDir.path({
|
|
@@ -316,10 +306,7 @@ export async function startRecordingScreen(
|
|
|
316
306
|
* or the file content cannot be uploaded to the remote location
|
|
317
307
|
* or screen recording is not supported on the device under test.
|
|
318
308
|
*/
|
|
319
|
-
export async function stopRecordingScreen(
|
|
320
|
-
this: SafariDriver,
|
|
321
|
-
options?: StopRecordingOptions,
|
|
322
|
-
): Promise<string> {
|
|
309
|
+
export async function stopRecordingScreen(this: SafariDriver, options?: StopRecordingOptions): Promise<string> {
|
|
323
310
|
if (!this._screenRecorder) {
|
|
324
311
|
this.log.info('No screen recording has been started. Doing nothing');
|
|
325
312
|
return '';
|
|
@@ -333,9 +320,7 @@ export async function stopRecordingScreen(
|
|
|
333
320
|
}
|
|
334
321
|
if (!options?.remotePath) {
|
|
335
322
|
const {size} = await fs.stat(videoPath);
|
|
336
|
-
this.log.debug(
|
|
337
|
-
`The size of the resulting screen recording is ${util.toReadableSizeString(size)}`,
|
|
338
|
-
);
|
|
323
|
+
this.log.debug(`The size of the resulting screen recording is ${util.toReadableSizeString(size)}`);
|
|
339
324
|
}
|
|
340
325
|
return await uploadRecordedMedia(videoPath, options?.remotePath ?? null, options ?? {});
|
|
341
326
|
}
|
|
@@ -356,8 +341,7 @@ async function extractSimulatorUdid(caps: StringRecord): Promise<string | null>
|
|
|
356
341
|
}
|
|
357
342
|
if (
|
|
358
343
|
caps['safari:deviceName']?.toLowerCase() === name.toLowerCase() &&
|
|
359
|
-
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) ||
|
|
360
|
-
!caps['safari:platformVersion'])
|
|
344
|
+
((caps['safari:platformVersion'] && caps['safari:platformVersion'] === sdk) || !caps['safari:platformVersion'])
|
|
361
345
|
) {
|
|
362
346
|
return udid;
|
|
363
347
|
}
|
package/lib/driver.ts
CHANGED
|
@@ -8,13 +8,14 @@ import type {
|
|
|
8
8
|
W3CDriverCaps,
|
|
9
9
|
} from '@appium/types';
|
|
10
10
|
import {BaseDriver} from 'appium/driver.js';
|
|
11
|
-
|
|
12
|
-
import {desiredCapConstraints, type SafariConstraints} from './desired-caps.js';
|
|
11
|
+
|
|
13
12
|
import * as cookieCommands from './commands/cookies.js';
|
|
14
13
|
import * as findCommands from './commands/find.js';
|
|
15
14
|
import * as recordScreenCommands from './commands/record-screen.js';
|
|
16
|
-
import {
|
|
15
|
+
import {desiredCapConstraints, type SafariConstraints} from './desired-caps.js';
|
|
17
16
|
import {newMethodMap} from './method-map.js';
|
|
17
|
+
import {SafariDriverServer} from './safari.js';
|
|
18
|
+
import {formatCapsForServer} from './utils.js';
|
|
18
19
|
|
|
19
20
|
const NO_PROXY: RouteMatcher[] = [
|
|
20
21
|
['GET', new RegExp('^/session/[^/]+/appium')],
|
package/lib/method-map.ts
CHANGED
package/lib/safari.ts
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
|
+
import {execSync} from 'node:child_process';
|
|
1
2
|
import os from 'node:os';
|
|
2
3
|
import path from 'node:path';
|
|
4
|
+
|
|
5
|
+
import type {AppiumLogger, StringRecord, HTTPMethod, HTTPBody} from '@appium/types';
|
|
3
6
|
import {JWProxy, errors} from 'appium/driver.js';
|
|
4
7
|
import {fs, logger, util} from 'appium/support.js';
|
|
5
|
-
import {SubProcess} from 'teen_process';
|
|
6
8
|
import {waitForCondition} from 'asyncbox';
|
|
7
9
|
import {findAPortNotInUse} from 'portscanner';
|
|
8
|
-
import {
|
|
9
|
-
import type {AppiumLogger, StringRecord, HTTPMethod, HTTPBody} from '@appium/types';
|
|
10
|
+
import {SubProcess} from 'teen_process';
|
|
10
11
|
|
|
11
12
|
const SD_BINARY = 'safaridriver';
|
|
12
13
|
const STARTUP_TIMEOUT = 10000; // seconds
|
|
13
14
|
const SAFARI_PORT_RANGE: [number, number] = [5100, 5200];
|
|
14
15
|
// This guard is needed to make sure
|
|
15
16
|
// we never run multiple Safari driver processes for the same Appium process
|
|
16
|
-
const SAFARI_SERVER_GUARD = util.getLockFileGuard(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
);
|
|
17
|
+
const SAFARI_SERVER_GUARD = util.getLockFileGuard(path.resolve(os.tmpdir(), 'safari_server_guard.lock'), {
|
|
18
|
+
timeout: 5,
|
|
19
|
+
tryRecovery: true,
|
|
20
|
+
});
|
|
20
21
|
|
|
21
22
|
class SafariProxy extends JWProxy {
|
|
22
23
|
didProcessExit?: boolean;
|
|
@@ -67,10 +68,7 @@ class SafariDriverProcess {
|
|
|
67
68
|
try {
|
|
68
69
|
safariBin = await fs.which(SD_BINARY);
|
|
69
70
|
} catch {
|
|
70
|
-
throw new Error(
|
|
71
|
-
`${SD_BINARY} binary cannot be found in PATH. ` +
|
|
72
|
-
`Please make sure it is present on your system`,
|
|
73
|
-
);
|
|
71
|
+
throw new Error(`${SD_BINARY} binary cannot be found in PATH. Please make sure it is present on your system`);
|
|
74
72
|
}
|
|
75
73
|
this.proc = new SubProcess(safariBin, ['-p', String(this.port), '--diagnose']);
|
|
76
74
|
this.proc.on('output', (stdout, stderr) => {
|
package/lib/utils.ts
CHANGED
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-safari-driver",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.6",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-safari-driver",
|
|
9
|
-
"version": "5.0.
|
|
9
|
+
"version": "5.0.6",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"asyncbox": "^6.1.0",
|
|
@@ -16,17 +16,12 @@
|
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"@appium/docutils": "^2.5.0",
|
|
19
|
-
"@appium/
|
|
20
|
-
"@appium/
|
|
19
|
+
"@appium/oxc-config": "^1.1.0",
|
|
20
|
+
"@appium/semantic-release-config": "^1.1.0",
|
|
21
|
+
"@appium/tsconfig": "^1.2.0",
|
|
21
22
|
"@appium/types": "^1.0.0-rc.1",
|
|
22
|
-
"@semantic-release/changelog": "^6.0.1",
|
|
23
|
-
"@semantic-release/git": "^10.0.1",
|
|
24
23
|
"@types/node": "^26.0.0",
|
|
25
24
|
"@types/portscanner": "^2.1.4",
|
|
26
|
-
"conventional-changelog-conventionalcommits": "^9.3.1",
|
|
27
|
-
"prettier": "^3.0.3",
|
|
28
|
-
"semantic-release": "^25.0.2",
|
|
29
|
-
"typescript": "^6.0.2",
|
|
30
25
|
"webdriverio": "^9.0.5"
|
|
31
26
|
},
|
|
32
27
|
"engines": {
|
|
@@ -1297,6 +1292,12 @@
|
|
|
1297
1292
|
"signal-exit": "^3.0.2"
|
|
1298
1293
|
}
|
|
1299
1294
|
},
|
|
1295
|
+
"node_modules/lockfile/node_modules/signal-exit": {
|
|
1296
|
+
"version": "3.0.7",
|
|
1297
|
+
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
|
1298
|
+
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
|
1299
|
+
"license": "ISC"
|
|
1300
|
+
},
|
|
1300
1301
|
"node_modules/lodash": {
|
|
1301
1302
|
"version": "4.18.1",
|
|
1302
1303
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz",
|
|
@@ -1327,16 +1328,6 @@
|
|
|
1327
1328
|
"node": ">= 0.4"
|
|
1328
1329
|
}
|
|
1329
1330
|
},
|
|
1330
|
-
"node_modules/mimic-fn": {
|
|
1331
|
-
"version": "2.1.0",
|
|
1332
|
-
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
|
|
1333
|
-
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
|
1334
|
-
"extraneous": true,
|
|
1335
|
-
"license": "MIT",
|
|
1336
|
-
"engines": {
|
|
1337
|
-
"node": ">=6"
|
|
1338
|
-
}
|
|
1339
|
-
},
|
|
1340
1331
|
"node_modules/minimatch": {
|
|
1341
1332
|
"version": "10.2.5",
|
|
1342
1333
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
|
|
@@ -1417,22 +1408,6 @@
|
|
|
1417
1408
|
"wrappy": "1"
|
|
1418
1409
|
}
|
|
1419
1410
|
},
|
|
1420
|
-
"node_modules/onetime": {
|
|
1421
|
-
"version": "5.1.2",
|
|
1422
|
-
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
|
|
1423
|
-
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
|
|
1424
|
-
"extraneous": true,
|
|
1425
|
-
"license": "MIT",
|
|
1426
|
-
"dependencies": {
|
|
1427
|
-
"mimic-fn": "^2.1.0"
|
|
1428
|
-
},
|
|
1429
|
-
"engines": {
|
|
1430
|
-
"node": ">=6"
|
|
1431
|
-
},
|
|
1432
|
-
"funding": {
|
|
1433
|
-
"url": "https://github.com/sponsors/sindresorhus"
|
|
1434
|
-
}
|
|
1435
|
-
},
|
|
1436
1411
|
"node_modules/p-limit": {
|
|
1437
1412
|
"version": "7.3.1",
|
|
1438
1413
|
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.1.tgz",
|
|
@@ -1723,12 +1698,6 @@
|
|
|
1723
1698
|
"url": "https://github.com/sponsors/ljharb"
|
|
1724
1699
|
}
|
|
1725
1700
|
},
|
|
1726
|
-
"node_modules/signal-exit": {
|
|
1727
|
-
"version": "3.0.7",
|
|
1728
|
-
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
|
|
1729
|
-
"integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
|
1730
|
-
"license": "ISC"
|
|
1731
|
-
},
|
|
1732
1701
|
"node_modules/spdx-correct": {
|
|
1733
1702
|
"version": "3.2.0",
|
|
1734
1703
|
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
|
|
@@ -1739,7 +1708,13 @@
|
|
|
1739
1708
|
"spdx-license-ids": "^3.0.0"
|
|
1740
1709
|
}
|
|
1741
1710
|
},
|
|
1742
|
-
"node_modules/spdx-
|
|
1711
|
+
"node_modules/spdx-exceptions": {
|
|
1712
|
+
"version": "2.5.0",
|
|
1713
|
+
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
|
|
1714
|
+
"integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
|
|
1715
|
+
"license": "CC-BY-3.0"
|
|
1716
|
+
},
|
|
1717
|
+
"node_modules/spdx-expression-parse": {
|
|
1743
1718
|
"version": "3.0.1",
|
|
1744
1719
|
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
|
|
1745
1720
|
"integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
|
|
@@ -1749,12 +1724,6 @@
|
|
|
1749
1724
|
"spdx-license-ids": "^3.0.0"
|
|
1750
1725
|
}
|
|
1751
1726
|
},
|
|
1752
|
-
"node_modules/spdx-exceptions": {
|
|
1753
|
-
"version": "2.5.0",
|
|
1754
|
-
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
|
|
1755
|
-
"integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
|
|
1756
|
-
"license": "CC-BY-3.0"
|
|
1757
|
-
},
|
|
1758
1727
|
"node_modules/spdx-license-ids": {
|
|
1759
1728
|
"version": "3.0.23",
|
|
1760
1729
|
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz",
|
|
@@ -1992,16 +1961,6 @@
|
|
|
1992
1961
|
"spdx-expression-parse": "^3.0.0"
|
|
1993
1962
|
}
|
|
1994
1963
|
},
|
|
1995
|
-
"node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": {
|
|
1996
|
-
"version": "3.0.1",
|
|
1997
|
-
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
|
|
1998
|
-
"integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
|
|
1999
|
-
"license": "MIT",
|
|
2000
|
-
"dependencies": {
|
|
2001
|
-
"spdx-exceptions": "^2.1.0",
|
|
2002
|
-
"spdx-license-ids": "^3.0.0"
|
|
2003
|
-
}
|
|
2004
|
-
},
|
|
2005
1964
|
"node_modules/which": {
|
|
2006
1965
|
"version": "6.0.1",
|
|
2007
1966
|
"resolved": "https://registry.npmjs.org/which/-/which-6.0.1.tgz",
|
package/package.json
CHANGED
|
@@ -1,31 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-safari-driver",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.6",
|
|
4
4
|
"description": "Appium driver for Safari browser",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"appium",
|
|
7
7
|
"safari",
|
|
8
8
|
"safaridriver"
|
|
9
9
|
],
|
|
10
|
-
"author": "Appium Contributors",
|
|
11
|
-
"license": "Apache-2.0",
|
|
12
10
|
"homepage": "https://appium.github.io/appium-safari-driver",
|
|
13
|
-
"repository": {
|
|
14
|
-
"type": "git",
|
|
15
|
-
"url": "https://github.com/appium/appium-safari-driver.git"
|
|
16
|
-
},
|
|
17
11
|
"bugs": {
|
|
18
12
|
"url": "https://github.com/appium/appium-safari-driver/issues"
|
|
19
13
|
},
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
"
|
|
25
|
-
"types": "./build/lib/index.d.ts",
|
|
26
|
-
"import": "./build/lib/index.js"
|
|
27
|
-
},
|
|
28
|
-
"./package.json": "./package.json"
|
|
14
|
+
"license": "Apache-2.0",
|
|
15
|
+
"author": "Appium Contributors",
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "https://github.com/appium/appium-safari-driver.git"
|
|
29
19
|
},
|
|
30
20
|
"bin": {},
|
|
31
21
|
"directories": {
|
|
@@ -38,38 +28,34 @@
|
|
|
38
28
|
"CHANGELOG.md",
|
|
39
29
|
"npm-shrinkwrap.json"
|
|
40
30
|
],
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"prettier": {
|
|
51
|
-
"bracketSpacing": false,
|
|
52
|
-
"printWidth": 100,
|
|
53
|
-
"singleQuote": true
|
|
31
|
+
"type": "module",
|
|
32
|
+
"main": "./build/lib/index.js",
|
|
33
|
+
"types": "./build/lib/index.d.ts",
|
|
34
|
+
"exports": {
|
|
35
|
+
".": {
|
|
36
|
+
"types": "./build/lib/index.d.ts",
|
|
37
|
+
"import": "./build/lib/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./package.json": "./package.json"
|
|
54
40
|
},
|
|
55
41
|
"scripts": {
|
|
56
42
|
"build": "tsc -b",
|
|
57
43
|
"clean": "npm run build -- --clean",
|
|
58
44
|
"rebuild": "npm run clean; npm run build",
|
|
59
45
|
"dev": "npm run build -- --watch",
|
|
60
|
-
"lint": "
|
|
61
|
-
"lint:fix": "
|
|
62
|
-
"format": "
|
|
63
|
-
"format:check": "
|
|
46
|
+
"lint": "oxlint -c oxlint.config.mjs .",
|
|
47
|
+
"lint:fix": "oxlint -c oxlint.config.mjs --fix .",
|
|
48
|
+
"format": "oxfmt -c oxfmt.config.mjs .",
|
|
49
|
+
"format:check": "oxfmt -c oxfmt.config.mjs --check .",
|
|
64
50
|
"build:docs": "appium-docs build",
|
|
65
51
|
"dev:docs": "appium-docs build --serve",
|
|
66
52
|
"publish:docs": "appium-docs build --deploy --push -b docs-site -m 'docs: build docs for appium-safari-driver@%s' --alias latest --use-prefixed-major-deploy-version",
|
|
67
53
|
"install-docs-deps": "appium-docs init --no-mkdocs",
|
|
68
54
|
"prepare": "npm run build",
|
|
69
|
-
"test": "node --test --test-timeout=60000 \"build/test/unit/**/*.test.js\"",
|
|
70
|
-
"e2e-test": "npm run build && node --test --test-timeout=300000 \"build/test/functional/**/*.test.js\"",
|
|
71
|
-
"e2e-test:desktop": "npm run build && node --test --test-timeout=300000 build/test/functional/desktop-driver-e2e.test.js",
|
|
72
|
-
"e2e-test:simulator": "npm run build && node --test --test-timeout=300000 build/test/functional/mobile-driver-e2e.test.js"
|
|
55
|
+
"test": "node --enable-source-maps --test --test-timeout=60000 \"build/test/unit/**/*.test.js\"",
|
|
56
|
+
"e2e-test": "npm run build && node --enable-source-maps --test --test-timeout=300000 \"build/test/functional/**/*.test.js\"",
|
|
57
|
+
"e2e-test:desktop": "npm run build && node --enable-source-maps --test --test-timeout=300000 build/test/functional/desktop-driver-e2e.test.js",
|
|
58
|
+
"e2e-test:simulator": "npm run build && node --enable-source-maps --test --test-timeout=300000 build/test/functional/mobile-driver-e2e.test.js"
|
|
73
59
|
},
|
|
74
60
|
"dependencies": {
|
|
75
61
|
"asyncbox": "^6.1.0",
|
|
@@ -77,26 +63,30 @@
|
|
|
77
63
|
"portscanner": "2.2.0",
|
|
78
64
|
"teen_process": "^4.0.4"
|
|
79
65
|
},
|
|
80
|
-
"peerDependencies": {
|
|
81
|
-
"appium": "^3.0.0-rc.2"
|
|
82
|
-
},
|
|
83
66
|
"devDependencies": {
|
|
84
67
|
"@appium/docutils": "^2.5.0",
|
|
85
|
-
"@appium/
|
|
86
|
-
"@appium/
|
|
68
|
+
"@appium/oxc-config": "^1.1.0",
|
|
69
|
+
"@appium/semantic-release-config": "^1.1.0",
|
|
70
|
+
"@appium/tsconfig": "^1.2.0",
|
|
87
71
|
"@appium/types": "^1.0.0-rc.1",
|
|
88
|
-
"@semantic-release/changelog": "^6.0.1",
|
|
89
|
-
"@semantic-release/git": "^10.0.1",
|
|
90
72
|
"@types/node": "^26.0.0",
|
|
91
73
|
"@types/portscanner": "^2.1.4",
|
|
92
|
-
"conventional-changelog-conventionalcommits": "^9.3.1",
|
|
93
|
-
"prettier": "^3.0.3",
|
|
94
|
-
"semantic-release": "^25.0.2",
|
|
95
|
-
"typescript": "^6.0.2",
|
|
96
74
|
"webdriverio": "^9.0.5"
|
|
97
75
|
},
|
|
76
|
+
"peerDependencies": {
|
|
77
|
+
"appium": "^3.0.0-rc.2"
|
|
78
|
+
},
|
|
98
79
|
"engines": {
|
|
99
80
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
|
|
100
81
|
"npm": ">=10"
|
|
82
|
+
},
|
|
83
|
+
"appium": {
|
|
84
|
+
"driverName": "safari",
|
|
85
|
+
"automationName": "Safari",
|
|
86
|
+
"platformNames": [
|
|
87
|
+
"Mac",
|
|
88
|
+
"iOS"
|
|
89
|
+
],
|
|
90
|
+
"mainClass": "SafariDriver"
|
|
101
91
|
}
|
|
102
92
|
}
|