appium-xcuitest-driver 12.8.2 → 12.8.3
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/helpers/mjpeg.d.ts.map +1 -1
- package/build/lib/commands/helpers/mjpeg.js +1 -16
- package/build/lib/commands/helpers/mjpeg.js.map +1 -1
- package/build/lib/commands/screenshots.js +4 -4
- package/build/lib/commands/screenshots.js.map +1 -1
- package/build/lib/utils/image.d.ts +18 -0
- package/build/lib/utils/image.d.ts.map +1 -0
- package/build/lib/utils/image.js +35 -0
- package/build/lib/utils/image.js.map +1 -0
- package/build/lib/utils/index.d.ts +1 -0
- package/build/lib/utils/index.d.ts.map +1 -1
- package/build/lib/utils/index.js +1 -0
- package/build/lib/utils/index.js.map +1 -1
- package/lib/commands/helpers/mjpeg.ts +1 -21
- package/lib/commands/screenshots.ts +4 -4
- package/lib/utils/image.ts +41 -0
- package/lib/utils/index.ts +1 -0
- package/npm-shrinkwrap.json +170 -271
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [12.8.3](https://github.com/appium/appium-xcuitest-driver/compare/v12.8.2...v12.8.3) (2026-08-31)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* stop using deprecated appium/support imageUtil, rely on local sharp ([#2963](https://github.com/appium/appium-xcuitest-driver/issues/2963)) ([8a913a1](https://github.com/appium/appium-xcuitest-driver/commit/8a913a1defbf34a117a717671fbf4c944b302398))
|
|
6
|
+
|
|
1
7
|
## [12.8.2](https://github.com/appium/appium-xcuitest-driver/compare/v12.8.1...v12.8.2) (2026-08-26)
|
|
2
8
|
|
|
3
9
|
### Bug Fixes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mjpeg.d.ts","sourceRoot":"","sources":["../../../../lib/commands/helpers/mjpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAiB,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"mjpeg.d.ts","sourceRoot":"","sources":["../../../../lib/commands/helpers/mjpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAiB,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAC,MAAM,aAAa,CAAC;AAK7G,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAWpD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,SAAS,CAAS;IAGjB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAehG,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,SAAS;CAelB;AAID;;;GAGG;AACH,qBAAa,WAAY,SAAQ,QAAQ;IACvC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,oBAAoB,CAAuC;IACnE,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAiC;IAEjD;;;;OAIG;gBACS,QAAQ,EAAE,MAAM,EAAE,YAAY,GAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAW,EAAE,OAAO,GAAE,eAAoB;IAOtG,IAAI,eAAe,IAAI,MAAM,GAAG,IAAI,CAGnC;IAEK,YAAY,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IActC,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKlD,KAAK,IAAI,IAAI;IASP,KAAK,CAAC,aAAa,SAA4B,GAAG,OAAO,CAAC,IAAI,CAAC;IA8ErE,IAAI,IAAI,IAAI;IAcH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI;CAUnH;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9E;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BnF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Transform, Writable } from 'node:stream';
|
|
2
2
|
import { logger } from 'appium/support.js';
|
|
3
3
|
import axios from 'axios';
|
|
4
|
+
import { requireSharp } from '../../utils/index.js';
|
|
4
5
|
const log = logger.getLogger('MJPEG');
|
|
5
6
|
const DEFAULT_SERVER_TIMEOUT_MS = 10000;
|
|
6
7
|
const DEFAULT_MJPEG_SERVER_PORT = 9100;
|
|
@@ -86,22 +87,6 @@ export class MjpegFrameParser extends Transform {
|
|
|
86
87
|
this.bytesWritten = 0;
|
|
87
88
|
}
|
|
88
89
|
}
|
|
89
|
-
let sharpModule = null;
|
|
90
|
-
async function requireSharp() {
|
|
91
|
-
if (sharpModule) {
|
|
92
|
-
return sharpModule;
|
|
93
|
-
}
|
|
94
|
-
try {
|
|
95
|
-
sharpModule = (await import('sharp')).default;
|
|
96
|
-
return sharpModule;
|
|
97
|
-
}
|
|
98
|
-
catch (err) {
|
|
99
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
100
|
-
throw new Error(`Cannot load the 'sharp' module needed for MJPEG frame processing. ` +
|
|
101
|
-
`Consider visiting https://sharp.pixelplumbing.com/install for troubleshooting. ` +
|
|
102
|
-
`Original error: ${message}`, { cause: err });
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
90
|
const noop = () => { };
|
|
106
91
|
/**
|
|
107
92
|
* Connects to an MJPEG-over-HTTP stream and keeps track of the last JPEG frame received,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mjpeg.js","sourceRoot":"","sources":["../../../../lib/commands/helpers/mjpeg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,QAAQ,EAA8D,MAAM,aAAa,CAAC;AAE7G,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"mjpeg.js","sourceRoot":"","sources":["../../../../lib/commands/helpers/mjpeg.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { errors } from 'appium/driver.js';
|
|
2
|
-
import { util
|
|
2
|
+
import { util } from 'appium/support.js';
|
|
3
3
|
import { retryInterval } from 'asyncbox';
|
|
4
|
-
import { capitalize } from '../utils/index.js';
|
|
4
|
+
import { capitalize, cropBase64Image, requireSharp } from '../utils/index.js';
|
|
5
5
|
/**
|
|
6
6
|
* Takes a screenshot of the current screen.
|
|
7
7
|
*
|
|
@@ -100,7 +100,7 @@ export async function getViewportScreenshot() {
|
|
|
100
100
|
if ((await this.getStatusBarHeight()) === 0) {
|
|
101
101
|
return screenshot;
|
|
102
102
|
}
|
|
103
|
-
const sharp =
|
|
103
|
+
const sharp = await requireSharp();
|
|
104
104
|
const { width, height } = await sharp(Buffer.from(screenshot, 'base64')).metadata();
|
|
105
105
|
if (!width || !height) {
|
|
106
106
|
throw new errors.UnableToCaptureScreen('The device screenshot is empty');
|
|
@@ -116,6 +116,6 @@ export async function getViewportScreenshot() {
|
|
|
116
116
|
region.height = height - region.top;
|
|
117
117
|
}
|
|
118
118
|
this.log.debug(`Calculated viewport rect: ${JSON.stringify(region)}`);
|
|
119
|
-
return await
|
|
119
|
+
return await cropBase64Image(screenshot, region);
|
|
120
120
|
}
|
|
121
121
|
//# sourceMappingURL=screenshots.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshots.js","sourceRoot":"","sources":["../../../lib/commands/screenshots.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"screenshots.js","sourceRoot":"","sources":["../../../lib/commands/screenshots.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAC,UAAU,EAAE,eAAe,EAAE,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE5E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACxB,MAAM,iBAAiB,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,iBAAiB,CAAC;QAChF,QAAQ,MAAM,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAChD,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU;gBACb,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;oBACzC,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAwB;iBAC/E,CAAC,CAAC;YACL,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,IAAI;gBACP,MAAM;YACR;gBACE,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,wCAAwC,iBAAiB,kBAAkB;oBACzE,mFAAmF,CACtF,CAAC;gBACF,MAAM;QACV,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GAAG,KAAK,IAAqB,EAAE;QACvD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,+CAA+C;IAC/C,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACnF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;QACzD,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,8DAA8D;YAC5D,8DAA8D,CACjE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,oBAAoB,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,oBAAoB;IACpB,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAO,IAAI,CAAC,MAAoB,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QACxE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAC3C,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,0FAA0F;IAC1F,OAAO,CAAC,MAAM,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAW,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAuB,EAA4B;IAC3F,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,iDAAiD,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,0BAA0B,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;QAClF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAC,IAAI,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAC,EAAC,CAAC,CAAC;IAC5E,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IACzE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,MAAM,CAAC,qBAAqB,CACpC,uDAAuD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;QACxB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9C,0EAA0E;IAC1E,uCAAuC;IACvC,IAAI,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAC;IACnC,MAAM,EAAC,KAAK,EAAE,MAAM,EAAC,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAClF,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,gCAAgC,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;IAC5C,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QACnF,MAAM,CAAC,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IACrC,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC;QACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACpF,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;IACtC,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtE,OAAO,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
|
+
import type { Region } from 'sharp';
|
|
3
|
+
/**
|
|
4
|
+
* Lazily imports the optional `sharp` dependency.
|
|
5
|
+
*
|
|
6
|
+
* @returns The sharp module for image processing
|
|
7
|
+
*/
|
|
8
|
+
export declare function requireSharp(): Promise<typeof sharp>;
|
|
9
|
+
/**
|
|
10
|
+
* Crops the image by the given rectangle (base64 string in, base64 string out).
|
|
11
|
+
*
|
|
12
|
+
* @param base64Image The string with base64 encoded image.
|
|
13
|
+
* Supports all image formats natively supported by Sharp library.
|
|
14
|
+
* @param region The selected region of the image
|
|
15
|
+
* @returns base64 encoded string of the cropped image
|
|
16
|
+
*/
|
|
17
|
+
export declare function cropBase64Image(base64Image: string, region: Region): Promise<string>;
|
|
18
|
+
//# sourceMappingURL=image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../lib/utils/image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,OAAO,CAAC;AAIlC;;;;GAIG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,CAgB1D;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI1F"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
let sharpModule = null;
|
|
2
|
+
/**
|
|
3
|
+
* Lazily imports the optional `sharp` dependency.
|
|
4
|
+
*
|
|
5
|
+
* @returns The sharp module for image processing
|
|
6
|
+
*/
|
|
7
|
+
export async function requireSharp() {
|
|
8
|
+
if (sharpModule) {
|
|
9
|
+
return sharpModule;
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
sharpModule = (await import('sharp')).default;
|
|
13
|
+
return sharpModule;
|
|
14
|
+
}
|
|
15
|
+
catch (err) {
|
|
16
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
17
|
+
throw new Error(`Cannot load the 'sharp' module needed for image processing. ` +
|
|
18
|
+
`Consider visiting https://sharp.pixelplumbing.com/install for troubleshooting. ` +
|
|
19
|
+
`Original error: ${message}`, { cause: err });
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Crops the image by the given rectangle (base64 string in, base64 string out).
|
|
24
|
+
*
|
|
25
|
+
* @param base64Image The string with base64 encoded image.
|
|
26
|
+
* Supports all image formats natively supported by Sharp library.
|
|
27
|
+
* @param region The selected region of the image
|
|
28
|
+
* @returns base64 encoded string of the cropped image
|
|
29
|
+
*/
|
|
30
|
+
export async function cropBase64Image(base64Image, region) {
|
|
31
|
+
const sharpInstance = await requireSharp();
|
|
32
|
+
const buf = await sharpInstance(Buffer.from(base64Image, 'base64')).extract(region).toBuffer();
|
|
33
|
+
return buf.toString('base64');
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../../lib/utils/image.ts"],"names":[],"mappings":"AAGA,IAAI,WAAW,GAAwB,IAAI,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,CAAC;QACH,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9C,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,8DAA8D;YAC5D,iFAAiF;YACjF,mBAAmB,OAAO,EAAE,EAC9B,EAAC,KAAK,EAAE,GAAG,EAAC,CACb,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAmB,EAAE,MAAc;IACvE,MAAM,aAAa,GAAG,MAAM,YAAY,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/F,OAAO,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { assignDefaults, capitalize, escapeRegExp, isEmpty, isPlainObject, mergeDeep, toErrorMessage, truncateString, upperFirst, } from './lang.js';
|
|
2
|
+
export { cropBase64Image, requireSharp } from './image.js';
|
|
2
3
|
export { memoize } from './memoize.js';
|
|
3
4
|
export { toApiLevelRequirementText, isTvOs, isWatchOs, normalizePlatformName, normalizePlatformVersion, supportsApiLevel17, supportsApiLevel18, supportsApiLevel27, } from './platform.js';
|
|
4
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,OAAO,EACP,aAAa,EACb,SAAS,EACT,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,yBAAyB,EACzB,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,OAAO,EACP,aAAa,EACb,SAAS,EACT,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAC,eAAe,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AACzD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,yBAAyB,EACzB,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
|
package/build/lib/utils/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { assignDefaults, capitalize, escapeRegExp, isEmpty, isPlainObject, mergeDeep, toErrorMessage, truncateString, upperFirst, } from './lang.js';
|
|
2
|
+
export { cropBase64Image, requireSharp } from './image.js';
|
|
2
3
|
export { memoize } from './memoize.js';
|
|
3
4
|
export { toApiLevelRequirementText, isTvOs, isWatchOs, normalizePlatformName, normalizePlatformVersion, supportsApiLevel17, supportsApiLevel18, supportsApiLevel27, } from './platform.js';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,OAAO,EACP,aAAa,EACb,SAAS,EACT,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,yBAAyB,EACzB,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,OAAO,EACP,aAAa,EACb,SAAS,EACT,cAAc,EACd,cAAc,EACd,UAAU,GACX,MAAM,WAAW,CAAC;AACnB,OAAO,EAAC,eAAe,EAAE,YAAY,EAAC,MAAM,YAAY,CAAC;AACzD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,yBAAyB,EACzB,MAAM,EACN,SAAS,EACT,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
|
|
@@ -2,9 +2,9 @@ import {Transform, Writable, type Readable, type TransformCallback, type Writabl
|
|
|
2
2
|
|
|
3
3
|
import {logger} from 'appium/support.js';
|
|
4
4
|
import axios from 'axios';
|
|
5
|
-
import type sharp from 'sharp';
|
|
6
5
|
|
|
7
6
|
import type {XCUITestDriver} from '../../driver.js';
|
|
7
|
+
import {requireSharp} from '../../utils/index.js';
|
|
8
8
|
|
|
9
9
|
const log = logger.getLogger('MJPEG');
|
|
10
10
|
|
|
@@ -100,26 +100,6 @@ export class MjpegFrameParser extends Transform {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
let sharpModule: typeof sharp | null = null;
|
|
104
|
-
|
|
105
|
-
async function requireSharp(): Promise<typeof sharp> {
|
|
106
|
-
if (sharpModule) {
|
|
107
|
-
return sharpModule;
|
|
108
|
-
}
|
|
109
|
-
try {
|
|
110
|
-
sharpModule = (await import('sharp')).default;
|
|
111
|
-
return sharpModule;
|
|
112
|
-
} catch (err) {
|
|
113
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
114
|
-
throw new Error(
|
|
115
|
-
`Cannot load the 'sharp' module needed for MJPEG frame processing. ` +
|
|
116
|
-
`Consider visiting https://sharp.pixelplumbing.com/install for troubleshooting. ` +
|
|
117
|
-
`Original error: ${message}`,
|
|
118
|
-
{cause: err},
|
|
119
|
-
);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
103
|
const noop = () => {};
|
|
124
104
|
|
|
125
105
|
/**
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type {Element} from '@appium/types';
|
|
2
2
|
import type {Simulator} from 'appium-ios-simulator';
|
|
3
3
|
import {errors} from 'appium/driver.js';
|
|
4
|
-
import {util
|
|
4
|
+
import {util} from 'appium/support.js';
|
|
5
5
|
import {retryInterval} from 'asyncbox';
|
|
6
6
|
|
|
7
7
|
import type {XCUITestDriver} from '../driver.js';
|
|
8
|
-
import {capitalize} from '../utils/index.js';
|
|
8
|
+
import {capitalize, cropBase64Image, requireSharp} from '../utils/index.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Takes a screenshot of the current screen.
|
|
@@ -120,7 +120,7 @@ export async function getViewportScreenshot(this: XCUITestDriver): Promise<strin
|
|
|
120
120
|
return screenshot;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
const sharp =
|
|
123
|
+
const sharp = await requireSharp();
|
|
124
124
|
const {width, height} = await sharp(Buffer.from(screenshot, 'base64')).metadata();
|
|
125
125
|
if (!width || !height) {
|
|
126
126
|
throw new errors.UnableToCaptureScreen('The device screenshot is empty');
|
|
@@ -136,5 +136,5 @@ export async function getViewportScreenshot(this: XCUITestDriver): Promise<strin
|
|
|
136
136
|
region.height = height - region.top;
|
|
137
137
|
}
|
|
138
138
|
this.log.debug(`Calculated viewport rect: ${JSON.stringify(region)}`);
|
|
139
|
-
return await
|
|
139
|
+
return await cropBase64Image(screenshot, region);
|
|
140
140
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type sharp from 'sharp';
|
|
2
|
+
import type {Region} from 'sharp';
|
|
3
|
+
|
|
4
|
+
let sharpModule: typeof sharp | null = null;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Lazily imports the optional `sharp` dependency.
|
|
8
|
+
*
|
|
9
|
+
* @returns The sharp module for image processing
|
|
10
|
+
*/
|
|
11
|
+
export async function requireSharp(): Promise<typeof sharp> {
|
|
12
|
+
if (sharpModule) {
|
|
13
|
+
return sharpModule;
|
|
14
|
+
}
|
|
15
|
+
try {
|
|
16
|
+
sharpModule = (await import('sharp')).default;
|
|
17
|
+
return sharpModule;
|
|
18
|
+
} catch (err) {
|
|
19
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
20
|
+
throw new Error(
|
|
21
|
+
`Cannot load the 'sharp' module needed for image processing. ` +
|
|
22
|
+
`Consider visiting https://sharp.pixelplumbing.com/install for troubleshooting. ` +
|
|
23
|
+
`Original error: ${message}`,
|
|
24
|
+
{cause: err},
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Crops the image by the given rectangle (base64 string in, base64 string out).
|
|
31
|
+
*
|
|
32
|
+
* @param base64Image The string with base64 encoded image.
|
|
33
|
+
* Supports all image formats natively supported by Sharp library.
|
|
34
|
+
* @param region The selected region of the image
|
|
35
|
+
* @returns base64 encoded string of the cropped image
|
|
36
|
+
*/
|
|
37
|
+
export async function cropBase64Image(base64Image: string, region: Region): Promise<string> {
|
|
38
|
+
const sharpInstance = await requireSharp();
|
|
39
|
+
const buf = await sharpInstance(Buffer.from(base64Image, 'base64')).extract(region).toBuffer();
|
|
40
|
+
return buf.toString('base64');
|
|
41
|
+
}
|
package/lib/utils/index.ts
CHANGED
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-xcuitest-driver",
|
|
3
|
-
"version": "12.8.
|
|
3
|
+
"version": "12.8.3",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-xcuitest-driver",
|
|
9
|
-
"version": "12.8.
|
|
9
|
+
"version": "12.8.3",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@appium/css-locator-to-native": "^1.0.1",
|
|
13
|
-
"@appium/strongbox": "^
|
|
13
|
+
"@appium/strongbox": "^2.0.0",
|
|
14
14
|
"@colors/colors": "^1.6.0",
|
|
15
15
|
"appium-ios-device": "^3.1.12",
|
|
16
16
|
"appium-ios-simulator": "^9.0.0",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"ws": "^8.13.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@appium/docutils": "^
|
|
36
|
+
"@appium/docutils": "^3.0.0",
|
|
37
37
|
"@appium/oxc-config": "^1.1.0",
|
|
38
38
|
"@appium/semantic-release-config": "^1.1.0",
|
|
39
39
|
"@appium/tsconfig": "^1.2.0",
|
|
@@ -91,43 +91,17 @@
|
|
|
91
91
|
"spdy": "4.0.2"
|
|
92
92
|
}
|
|
93
93
|
},
|
|
94
|
-
"node_modules/@appium/base-driver/node_modules
|
|
95
|
-
"version": "
|
|
96
|
-
"resolved": "https://registry.npmjs.org
|
|
97
|
-
"integrity": "sha512-
|
|
94
|
+
"node_modules/@appium/base-driver/node_modules/asyncbox": {
|
|
95
|
+
"version": "6.4.2",
|
|
96
|
+
"resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.4.2.tgz",
|
|
97
|
+
"integrity": "sha512-CXEnvX5i4UtAdu3Egtqn5At9C1O3bIqtS3EAQGz8bA5H11cvu9eO17IxOWiM8Q8DUFk9sD251s9vsAXFKXXFgg==",
|
|
98
98
|
"license": "Apache-2.0",
|
|
99
99
|
"dependencies": {
|
|
100
|
-
"
|
|
101
|
-
"@appium/types": "1.7.0",
|
|
102
|
-
"archiver": "8.0.0",
|
|
103
|
-
"asyncbox": "6.4.2",
|
|
104
|
-
"axios": "1.19.0",
|
|
105
|
-
"bluebird": "3.7.2",
|
|
106
|
-
"bplist-creator": "0.1.1",
|
|
107
|
-
"bplist-parser": "0.3.2",
|
|
108
|
-
"form-data": "4.0.6",
|
|
109
|
-
"glob": "13.0.6",
|
|
110
|
-
"jsftp": "2.1.3",
|
|
111
|
-
"klaw": "4.1.0",
|
|
112
|
-
"lockfile": "1.0.4",
|
|
113
|
-
"normalize-package-data": "8.0.0",
|
|
114
|
-
"plist": "4.0.0",
|
|
115
|
-
"pluralize": "8.0.0",
|
|
116
|
-
"sanitize-filename": "1.6.4",
|
|
117
|
-
"semver": "7.8.5",
|
|
118
|
-
"shell-quote": "1.10.0",
|
|
119
|
-
"teen_process": "4.2.1",
|
|
120
|
-
"type-fest": "5.8.0",
|
|
121
|
-
"uuid": "14.0.2",
|
|
122
|
-
"which": "6.0.1",
|
|
123
|
-
"yauzl": "3.4.0"
|
|
100
|
+
"p-limit": "^7.2.0"
|
|
124
101
|
},
|
|
125
102
|
"engines": {
|
|
126
103
|
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
|
|
127
104
|
"npm": ">=10"
|
|
128
|
-
},
|
|
129
|
-
"optionalDependencies": {
|
|
130
|
-
"sharp": "^0.x"
|
|
131
105
|
}
|
|
132
106
|
},
|
|
133
107
|
"node_modules/@appium/base-driver/node_modules/axios": {
|
|
@@ -142,19 +116,6 @@
|
|
|
142
116
|
"proxy-from-env": "^2.1.0"
|
|
143
117
|
}
|
|
144
118
|
},
|
|
145
|
-
"node_modules/@appium/base-driver/node_modules/uuid": {
|
|
146
|
-
"version": "14.0.2",
|
|
147
|
-
"resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.2.tgz",
|
|
148
|
-
"integrity": "sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ==",
|
|
149
|
-
"funding": [
|
|
150
|
-
"https://github.com/sponsors/broofa",
|
|
151
|
-
"https://github.com/sponsors/ctavan"
|
|
152
|
-
],
|
|
153
|
-
"license": "MIT",
|
|
154
|
-
"bin": {
|
|
155
|
-
"uuid": "dist-node/bin/uuid"
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
119
|
"node_modules/@appium/css-locator-to-native": {
|
|
159
120
|
"version": "1.0.6",
|
|
160
121
|
"resolved": "https://registry.npmjs.org/@appium/css-locator-to-native/-/css-locator-to-native-1.0.6.tgz",
|
|
@@ -168,6 +129,32 @@
|
|
|
168
129
|
"npm": ">=10"
|
|
169
130
|
}
|
|
170
131
|
},
|
|
132
|
+
"node_modules/@appium/docutils": {
|
|
133
|
+
"version": "3.0.0",
|
|
134
|
+
"resolved": "https://registry.npmjs.org/@appium/docutils/-/docutils-3.0.0.tgz",
|
|
135
|
+
"integrity": "sha512-R+q7jvSJm+vjV+8+FRNy5lIx6GieRna1rOOGnKmlxkTBUNi9q4VeCPfkT9x1CPAqgco+W2ZugelpM8oAtJFRnw==",
|
|
136
|
+
"dev": true,
|
|
137
|
+
"license": "Apache-2.0",
|
|
138
|
+
"dependencies": {
|
|
139
|
+
"@appium/support": "7.2.7",
|
|
140
|
+
"consola": "3.4.2",
|
|
141
|
+
"diff": "9.0.0",
|
|
142
|
+
"lilconfig": "3.1.3",
|
|
143
|
+
"normalize-package-data": "8.0.0",
|
|
144
|
+
"teen_process": "4.2.1",
|
|
145
|
+
"type-fest": "5.8.0",
|
|
146
|
+
"yaml": "2.9.0",
|
|
147
|
+
"yargs": "18.1.0",
|
|
148
|
+
"yargs-parser": "22.0.0"
|
|
149
|
+
},
|
|
150
|
+
"bin": {
|
|
151
|
+
"appium-docs": "bin/appium-docs.js"
|
|
152
|
+
},
|
|
153
|
+
"engines": {
|
|
154
|
+
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
|
|
155
|
+
"npm": ">=10"
|
|
156
|
+
}
|
|
157
|
+
},
|
|
171
158
|
"node_modules/@appium/logger": {
|
|
172
159
|
"version": "2.0.11",
|
|
173
160
|
"resolved": "https://registry.npmjs.org/@appium/logger/-/logger-2.0.11.tgz",
|
|
@@ -195,9 +182,9 @@
|
|
|
195
182
|
}
|
|
196
183
|
},
|
|
197
184
|
"node_modules/@appium/strongbox": {
|
|
198
|
-
"version": "
|
|
199
|
-
"resolved": "https://registry.npmjs.org/@appium/strongbox/-/strongbox-
|
|
200
|
-
"integrity": "sha512-
|
|
185
|
+
"version": "2.0.0",
|
|
186
|
+
"resolved": "https://registry.npmjs.org/@appium/strongbox/-/strongbox-2.0.0.tgz",
|
|
187
|
+
"integrity": "sha512-ZA1tvF0JkXcG24QQoaYtAvGUsh+Wwa6Qdgwr8cmtxBggRrWfupgZDmHJF3rQmNi1cFosvEFo6ILMq879xXX7DQ==",
|
|
201
188
|
"license": "Apache-2.0",
|
|
202
189
|
"dependencies": {
|
|
203
190
|
"env-paths": "4.0.0"
|
|
@@ -208,16 +195,16 @@
|
|
|
208
195
|
}
|
|
209
196
|
},
|
|
210
197
|
"node_modules/@appium/support": {
|
|
211
|
-
"version": "7.2.
|
|
212
|
-
"resolved": "https://registry.npmjs.org/@appium/support/-/support-7.2.
|
|
213
|
-
"integrity": "sha512-
|
|
198
|
+
"version": "7.2.7",
|
|
199
|
+
"resolved": "https://registry.npmjs.org/@appium/support/-/support-7.2.7.tgz",
|
|
200
|
+
"integrity": "sha512-6TbmICepPT+GKM6Wj/Gdp2T2dHKXO/MLZWW3OY9YT2sbnQNKTXtQvjspLwQHhxndkG74jFW1Cu5KKBAjkZecXA==",
|
|
214
201
|
"license": "Apache-2.0",
|
|
215
202
|
"dependencies": {
|
|
216
|
-
"@appium/logger": "2.0.
|
|
217
|
-
"@appium/types": "1.
|
|
203
|
+
"@appium/logger": "2.0.11",
|
|
204
|
+
"@appium/types": "1.7.0",
|
|
218
205
|
"archiver": "8.0.0",
|
|
219
|
-
"asyncbox": "6.
|
|
220
|
-
"axios": "1.
|
|
206
|
+
"asyncbox": "6.4.2",
|
|
207
|
+
"axios": "1.19.0",
|
|
221
208
|
"bluebird": "3.7.2",
|
|
222
209
|
"bplist-creator": "0.1.1",
|
|
223
210
|
"bplist-parser": "0.3.2",
|
|
@@ -232,9 +219,9 @@
|
|
|
232
219
|
"sanitize-filename": "1.6.4",
|
|
233
220
|
"semver": "7.8.5",
|
|
234
221
|
"shell-quote": "1.10.0",
|
|
235
|
-
"teen_process": "4.1
|
|
222
|
+
"teen_process": "4.2.1",
|
|
236
223
|
"type-fest": "5.8.0",
|
|
237
|
-
"uuid": "14.0.
|
|
224
|
+
"uuid": "14.0.2",
|
|
238
225
|
"which": "6.0.1",
|
|
239
226
|
"yauzl": "3.4.0"
|
|
240
227
|
},
|
|
@@ -243,103 +230,13 @@
|
|
|
243
230
|
"npm": ">=10"
|
|
244
231
|
},
|
|
245
232
|
"optionalDependencies": {
|
|
246
|
-
"sharp": "0.
|
|
247
|
-
}
|
|
248
|
-
},
|
|
249
|
-
"node_modules/@appium/support/node_modules/@appium/logger": {
|
|
250
|
-
"version": "2.0.10",
|
|
251
|
-
"resolved": "https://registry.npmjs.org/@appium/logger/-/logger-2.0.10.tgz",
|
|
252
|
-
"integrity": "sha512-RFR+9erki0Wqv3pElkbocoE1v2UsYUEvBybqEOTNl3dniA377vqKR9MiQl6W32XlruuIYZH8kkkdQJ3/0TEbyQ==",
|
|
253
|
-
"license": "ISC",
|
|
254
|
-
"dependencies": {
|
|
255
|
-
"lru-cache": "11.5.2"
|
|
256
|
-
},
|
|
257
|
-
"engines": {
|
|
258
|
-
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
|
|
259
|
-
"npm": ">=10"
|
|
260
|
-
}
|
|
261
|
-
},
|
|
262
|
-
"node_modules/@appium/support/node_modules/@appium/types": {
|
|
263
|
-
"version": "1.6.0",
|
|
264
|
-
"resolved": "https://registry.npmjs.org/@appium/types/-/types-1.6.0.tgz",
|
|
265
|
-
"integrity": "sha512-7xHJ0AsW/B/uR3m62jKMhX3KvrtV6HcFzOLyCulkjrgwfLNlscVJKdmKul4U3Cj0rEDhCaUCcyagBdiSKDiAfw==",
|
|
266
|
-
"license": "Apache-2.0",
|
|
267
|
-
"dependencies": {
|
|
268
|
-
"@appium/schema": "1.3.0",
|
|
269
|
-
"type-fest": "5.8.0"
|
|
270
|
-
},
|
|
271
|
-
"engines": {
|
|
272
|
-
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
|
|
273
|
-
"npm": ">=10"
|
|
274
|
-
},
|
|
275
|
-
"peerDependencies": {
|
|
276
|
-
"@appium/logger": "^2.0.0"
|
|
277
|
-
}
|
|
278
|
-
},
|
|
279
|
-
"node_modules/@appium/support/node_modules/@img/sharp-libvips-linux-x64": {
|
|
280
|
-
"version": "1.3.2",
|
|
281
|
-
"resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.3.2.tgz",
|
|
282
|
-
"integrity": "sha512-ITPEtgffGJ0S6G9dRyw/366tJQqFRcHWPHhC+Stpg3Z8AEMrDrTr2lhdz4f/Y/HMbRh//7Z5mBzEpVdi62Oc3w==",
|
|
283
|
-
"cpu": [
|
|
284
|
-
"x64"
|
|
285
|
-
],
|
|
286
|
-
"libc": [
|
|
287
|
-
"glibc"
|
|
288
|
-
],
|
|
289
|
-
"license": "LGPL-3.0-or-later",
|
|
290
|
-
"optional": true,
|
|
291
|
-
"os": [
|
|
292
|
-
"linux"
|
|
293
|
-
],
|
|
294
|
-
"funding": {
|
|
295
|
-
"url": "https://opencollective.com/libvips"
|
|
296
|
-
}
|
|
297
|
-
},
|
|
298
|
-
"node_modules/@appium/support/node_modules/@img/sharp-linux-x64": {
|
|
299
|
-
"version": "0.35.3",
|
|
300
|
-
"resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.35.3.tgz",
|
|
301
|
-
"integrity": "sha512-8pqvxubL2PGdhlPy6GLqzDYMUjyRmKAwKHYKixpdJYBUK7PJ0C029XdsnpFIdgRZG68fZiGdHVWcKPvtiPB4cA==",
|
|
302
|
-
"cpu": [
|
|
303
|
-
"x64"
|
|
304
|
-
],
|
|
305
|
-
"libc": [
|
|
306
|
-
"glibc"
|
|
307
|
-
],
|
|
308
|
-
"license": "Apache-2.0",
|
|
309
|
-
"optional": true,
|
|
310
|
-
"os": [
|
|
311
|
-
"linux"
|
|
312
|
-
],
|
|
313
|
-
"engines": {
|
|
314
|
-
"node": ">=20.9.0"
|
|
315
|
-
},
|
|
316
|
-
"funding": {
|
|
317
|
-
"url": "https://opencollective.com/libvips"
|
|
318
|
-
},
|
|
319
|
-
"optionalDependencies": {
|
|
320
|
-
"@img/sharp-libvips-linux-x64": "1.3.2"
|
|
321
|
-
}
|
|
322
|
-
},
|
|
323
|
-
"node_modules/@appium/support/node_modules/@img/sharp-wasm32": {
|
|
324
|
-
"version": "0.35.3",
|
|
325
|
-
"resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.35.3.tgz",
|
|
326
|
-
"integrity": "sha512-cZ0XkcYGpHZkqW6iCkqTcmUC0CD9DhD5d/qeZlZkfRBn6GnHniZXLUo5+9xw8Iv76YE6LQFN9YNBlKREcCG76w==",
|
|
327
|
-
"extraneous": true,
|
|
328
|
-
"license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT",
|
|
329
|
-
"dependencies": {
|
|
330
|
-
"@emnapi/runtime": "^1.11.1"
|
|
331
|
-
},
|
|
332
|
-
"engines": {
|
|
333
|
-
"node": ">=20.9.0"
|
|
334
|
-
},
|
|
335
|
-
"funding": {
|
|
336
|
-
"url": "https://opencollective.com/libvips"
|
|
233
|
+
"sharp": "^0.x"
|
|
337
234
|
}
|
|
338
235
|
},
|
|
339
236
|
"node_modules/@appium/support/node_modules/asyncbox": {
|
|
340
|
-
"version": "6.
|
|
341
|
-
"resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.
|
|
342
|
-
"integrity": "sha512-
|
|
237
|
+
"version": "6.4.2",
|
|
238
|
+
"resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.4.2.tgz",
|
|
239
|
+
"integrity": "sha512-CXEnvX5i4UtAdu3Egtqn5At9C1O3bIqtS3EAQGz8bA5H11cvu9eO17IxOWiM8Q8DUFk9sD251s9vsAXFKXXFgg==",
|
|
343
240
|
"license": "Apache-2.0",
|
|
344
241
|
"dependencies": {
|
|
345
242
|
"p-limit": "^7.2.0"
|
|
@@ -350,80 +247,17 @@
|
|
|
350
247
|
}
|
|
351
248
|
},
|
|
352
249
|
"node_modules/@appium/support/node_modules/axios": {
|
|
353
|
-
"version": "1.
|
|
354
|
-
"resolved": "https://registry.npmjs.org/axios/-/axios-1.
|
|
355
|
-
"integrity": "sha512-
|
|
250
|
+
"version": "1.19.0",
|
|
251
|
+
"resolved": "https://registry.npmjs.org/axios/-/axios-1.19.0.tgz",
|
|
252
|
+
"integrity": "sha512-ht/iuYZXEjFxLH/Hkezgd7m6JKlHHXEUSneaDz8uZe1Gj5QZtCnpyDsckvAiEnT89OEbCLmnte4R4sn7P0EKFw==",
|
|
356
253
|
"license": "MIT",
|
|
357
254
|
"dependencies": {
|
|
358
255
|
"follow-redirects": "^1.16.0",
|
|
359
|
-
"form-data": "^4.0.
|
|
256
|
+
"form-data": "^4.0.6",
|
|
360
257
|
"https-proxy-agent": "^5.0.1",
|
|
361
258
|
"proxy-from-env": "^2.1.0"
|
|
362
259
|
}
|
|
363
260
|
},
|
|
364
|
-
"node_modules/@appium/support/node_modules/sharp": {
|
|
365
|
-
"version": "0.35.3",
|
|
366
|
-
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.35.3.tgz",
|
|
367
|
-
"integrity": "sha512-ej0zVHuZGHCiABXcNxeYhpRnPNPAcvbG8RMdBAhDAxLKkCRVSpK3Iyu7qbqw3JMzoj0REeM6f3tJLtVwl0023Q==",
|
|
368
|
-
"license": "Apache-2.0",
|
|
369
|
-
"optional": true,
|
|
370
|
-
"dependencies": {
|
|
371
|
-
"@img/colour": "^1.1.0",
|
|
372
|
-
"detect-libc": "^2.1.2",
|
|
373
|
-
"semver": "^7.8.5"
|
|
374
|
-
},
|
|
375
|
-
"engines": {
|
|
376
|
-
"node": ">=20.9.0"
|
|
377
|
-
},
|
|
378
|
-
"funding": {
|
|
379
|
-
"url": "https://opencollective.com/libvips"
|
|
380
|
-
},
|
|
381
|
-
"optionalDependencies": {
|
|
382
|
-
"@img/sharp-darwin-arm64": "0.35.3",
|
|
383
|
-
"@img/sharp-darwin-x64": "0.35.3",
|
|
384
|
-
"@img/sharp-freebsd-wasm32": "0.35.3",
|
|
385
|
-
"@img/sharp-libvips-darwin-arm64": "1.3.2",
|
|
386
|
-
"@img/sharp-libvips-darwin-x64": "1.3.2",
|
|
387
|
-
"@img/sharp-libvips-linux-arm": "1.3.2",
|
|
388
|
-
"@img/sharp-libvips-linux-arm64": "1.3.2",
|
|
389
|
-
"@img/sharp-libvips-linux-ppc64": "1.3.2",
|
|
390
|
-
"@img/sharp-libvips-linux-riscv64": "1.3.2",
|
|
391
|
-
"@img/sharp-libvips-linux-s390x": "1.3.2",
|
|
392
|
-
"@img/sharp-libvips-linux-x64": "1.3.2",
|
|
393
|
-
"@img/sharp-libvips-linuxmusl-arm64": "1.3.2",
|
|
394
|
-
"@img/sharp-libvips-linuxmusl-x64": "1.3.2",
|
|
395
|
-
"@img/sharp-linux-arm": "0.35.3",
|
|
396
|
-
"@img/sharp-linux-arm64": "0.35.3",
|
|
397
|
-
"@img/sharp-linux-ppc64": "0.35.3",
|
|
398
|
-
"@img/sharp-linux-riscv64": "0.35.3",
|
|
399
|
-
"@img/sharp-linux-s390x": "0.35.3",
|
|
400
|
-
"@img/sharp-linux-x64": "0.35.3",
|
|
401
|
-
"@img/sharp-linuxmusl-arm64": "0.35.3",
|
|
402
|
-
"@img/sharp-linuxmusl-x64": "0.35.3",
|
|
403
|
-
"@img/sharp-webcontainers-wasm32": "0.35.3",
|
|
404
|
-
"@img/sharp-win32-arm64": "0.35.3",
|
|
405
|
-
"@img/sharp-win32-ia32": "0.35.3",
|
|
406
|
-
"@img/sharp-win32-x64": "0.35.3"
|
|
407
|
-
},
|
|
408
|
-
"peerDependenciesMeta": {
|
|
409
|
-
"@types/node": {
|
|
410
|
-
"optional": true
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
},
|
|
414
|
-
"node_modules/@appium/support/node_modules/teen_process": {
|
|
415
|
-
"version": "4.1.9",
|
|
416
|
-
"resolved": "https://registry.npmjs.org/teen_process/-/teen_process-4.1.9.tgz",
|
|
417
|
-
"integrity": "sha512-MUOuIDBvjJGrm5AgrrWyGbpoKbpSJWvc7xf76Hac4ONDB2BbKzMNWjCAjFZ3sX+KuioReNVJdXTO4o4Bj/gRaQ==",
|
|
418
|
-
"license": "Apache-2.0",
|
|
419
|
-
"dependencies": {
|
|
420
|
-
"shell-quote": "^1.8.1"
|
|
421
|
-
},
|
|
422
|
-
"engines": {
|
|
423
|
-
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
|
|
424
|
-
"npm": ">=10"
|
|
425
|
-
}
|
|
426
|
-
},
|
|
427
261
|
"node_modules/@appium/types": {
|
|
428
262
|
"version": "1.7.0",
|
|
429
263
|
"resolved": "https://registry.npmjs.org/@appium/types/-/types-1.7.0.tgz",
|
|
@@ -607,7 +441,7 @@
|
|
|
607
441
|
"version": "6.3.0",
|
|
608
442
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.3.0.tgz",
|
|
609
443
|
"integrity": "sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==",
|
|
610
|
-
"
|
|
444
|
+
"dev": true,
|
|
611
445
|
"license": "MIT",
|
|
612
446
|
"engines": {
|
|
613
447
|
"node": ">=12"
|
|
@@ -651,16 +485,16 @@
|
|
|
651
485
|
}
|
|
652
486
|
},
|
|
653
487
|
"node_modules/appium-ios-remotexpc": {
|
|
654
|
-
"version": "5.
|
|
655
|
-
"resolved": "https://registry.npmjs.org/appium-ios-remotexpc/-/appium-ios-remotexpc-5.
|
|
656
|
-
"integrity": "sha512-
|
|
488
|
+
"version": "5.17.1",
|
|
489
|
+
"resolved": "https://registry.npmjs.org/appium-ios-remotexpc/-/appium-ios-remotexpc-5.17.1.tgz",
|
|
490
|
+
"integrity": "sha512-6jpLWcbLpnLqNf14IlHza+lEZVjbylsdVNwPqtTZxooWrGI6Ufjd5B7Mzf6NoxsY28iY0vR7BJ3JDLz4LXJXxQ==",
|
|
657
491
|
"license": "Apache-2.0",
|
|
658
492
|
"optional": true,
|
|
659
493
|
"dependencies": {
|
|
660
494
|
"@appium/strongbox": "^1.1.2",
|
|
661
495
|
"@appium/support": "^7.2.2",
|
|
662
496
|
"@xmldom/xmldom": "^0.x",
|
|
663
|
-
"appium-ios-tuntap": "^
|
|
497
|
+
"appium-ios-tuntap": "^2.0.0",
|
|
664
498
|
"async-lock": "^1.4.1",
|
|
665
499
|
"axios": "^1.15.1",
|
|
666
500
|
"commander": "^14.0.1",
|
|
@@ -673,6 +507,20 @@
|
|
|
673
507
|
"npm": ">=10"
|
|
674
508
|
}
|
|
675
509
|
},
|
|
510
|
+
"node_modules/appium-ios-remotexpc/node_modules/@appium/strongbox": {
|
|
511
|
+
"version": "1.1.3",
|
|
512
|
+
"resolved": "https://registry.npmjs.org/@appium/strongbox/-/strongbox-1.1.3.tgz",
|
|
513
|
+
"integrity": "sha512-w0e/0ffwVHILPzujdFmopC+F+r4yNmhob5z3k1EqUgGcA+bpQvujuWhK15beDctAh2gMupwpWc7SpMw0xuqbsA==",
|
|
514
|
+
"license": "Apache-2.0",
|
|
515
|
+
"optional": true,
|
|
516
|
+
"dependencies": {
|
|
517
|
+
"env-paths": "4.0.0"
|
|
518
|
+
},
|
|
519
|
+
"engines": {
|
|
520
|
+
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
|
|
521
|
+
"npm": ">=10"
|
|
522
|
+
}
|
|
523
|
+
},
|
|
676
524
|
"node_modules/appium-ios-simulator": {
|
|
677
525
|
"version": "9.1.2",
|
|
678
526
|
"resolved": "https://registry.npmjs.org/appium-ios-simulator/-/appium-ios-simulator-9.1.2.tgz",
|
|
@@ -694,14 +542,14 @@
|
|
|
694
542
|
}
|
|
695
543
|
},
|
|
696
544
|
"node_modules/appium-ios-tuntap": {
|
|
697
|
-
"version": "
|
|
698
|
-
"resolved": "https://registry.npmjs.org/appium-ios-tuntap/-/appium-ios-tuntap-
|
|
699
|
-
"integrity": "sha512-
|
|
545
|
+
"version": "2.0.1",
|
|
546
|
+
"resolved": "https://registry.npmjs.org/appium-ios-tuntap/-/appium-ios-tuntap-2.0.1.tgz",
|
|
547
|
+
"integrity": "sha512-OXRf4Shd6GObfswJpaN1b4/IETILpTEviV53TLQEn+v0ny/bBdE++YKTJhrV43Lp+RQ5F5Xix592Ath5RkuJ2Q==",
|
|
700
548
|
"hasInstallScript": true,
|
|
701
549
|
"license": "Apache-2.0",
|
|
702
550
|
"optional": true,
|
|
703
551
|
"dependencies": {
|
|
704
|
-
"@appium/support": "^7.2.
|
|
552
|
+
"@appium/support": "^7.2.6",
|
|
705
553
|
"node-addon-api": "^8.5.0",
|
|
706
554
|
"node-gyp-build": "^4.8.4"
|
|
707
555
|
},
|
|
@@ -711,13 +559,13 @@
|
|
|
711
559
|
}
|
|
712
560
|
},
|
|
713
561
|
"node_modules/appium-remote-debugger": {
|
|
714
|
-
"version": "17.1
|
|
715
|
-
"resolved": "https://registry.npmjs.org/appium-remote-debugger/-/appium-remote-debugger-17.1.
|
|
716
|
-
"integrity": "sha512-
|
|
562
|
+
"version": "17.4.1",
|
|
563
|
+
"resolved": "https://registry.npmjs.org/appium-remote-debugger/-/appium-remote-debugger-17.4.1.tgz",
|
|
564
|
+
"integrity": "sha512-n+zCgrAus/1fkVhYk77bBwuLK3xEcQik+GNtFWPn1270Mcc+TtVJxx2ltWaXLnWzFv9tV7xu1l93AeCdhO6asw==",
|
|
717
565
|
"license": "Apache-2.0",
|
|
718
566
|
"dependencies": {
|
|
719
|
-
"@appium/base-driver": "^10.
|
|
720
|
-
"@appium/support": "^7.2.
|
|
567
|
+
"@appium/base-driver": "^10.8.0",
|
|
568
|
+
"@appium/support": "^7.2.6",
|
|
721
569
|
"appium-ios-device": "^3.0.0",
|
|
722
570
|
"async-lock": "^1.4.1",
|
|
723
571
|
"asyncbox": "^6.3.0",
|
|
@@ -732,14 +580,14 @@
|
|
|
732
580
|
}
|
|
733
581
|
},
|
|
734
582
|
"node_modules/appium-webdriveragent": {
|
|
735
|
-
"version": "16.
|
|
736
|
-
"resolved": "https://registry.npmjs.org/appium-webdriveragent/-/appium-webdriveragent-16.
|
|
737
|
-
"integrity": "sha512-
|
|
583
|
+
"version": "16.11.4",
|
|
584
|
+
"resolved": "https://registry.npmjs.org/appium-webdriveragent/-/appium-webdriveragent-16.11.4.tgz",
|
|
585
|
+
"integrity": "sha512-YQLwHGcie5aYdEaYExd+5SEP5RfKGTWn65UKgnOU8NgM/DI1/WtOvGHlFbkMmKaHkk6ulXoIICKoYVN6tC9SsQ==",
|
|
738
586
|
"license": "Apache-2.0",
|
|
739
587
|
"dependencies": {
|
|
740
|
-
"@appium/base-driver": "^10.
|
|
741
|
-
"@appium/strongbox": "^
|
|
742
|
-
"@appium/support": "^7.2.
|
|
588
|
+
"@appium/base-driver": "^10.8.0",
|
|
589
|
+
"@appium/strongbox": "^2.0.0",
|
|
590
|
+
"@appium/support": "^7.2.6",
|
|
743
591
|
"appium-ios-simulator": "^9.0.0",
|
|
744
592
|
"async-lock": "^1.0.0",
|
|
745
593
|
"asyncbox": "^6.1.0",
|
|
@@ -800,9 +648,9 @@
|
|
|
800
648
|
"license": "MIT"
|
|
801
649
|
},
|
|
802
650
|
"node_modules/asyncbox": {
|
|
803
|
-
"version": "6.4.
|
|
804
|
-
"resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.4.
|
|
805
|
-
"integrity": "sha512-
|
|
651
|
+
"version": "6.4.3",
|
|
652
|
+
"resolved": "https://registry.npmjs.org/asyncbox/-/asyncbox-6.4.3.tgz",
|
|
653
|
+
"integrity": "sha512-s8SY4wNBvZkenRVOW2dEr3r43u40uHlqKGPTkEvr7QQIOMNMIzCZMMstKgDTWhTPRfeST57S+v/3OTXhoVsg0g==",
|
|
806
654
|
"license": "Apache-2.0",
|
|
807
655
|
"dependencies": {
|
|
808
656
|
"p-limit": "^7.2.0"
|
|
@@ -1105,7 +953,7 @@
|
|
|
1105
953
|
"version": "9.0.1",
|
|
1106
954
|
"resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz",
|
|
1107
955
|
"integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==",
|
|
1108
|
-
"
|
|
956
|
+
"dev": true,
|
|
1109
957
|
"license": "ISC",
|
|
1110
958
|
"dependencies": {
|
|
1111
959
|
"string-width": "^7.2.0",
|
|
@@ -1120,14 +968,14 @@
|
|
|
1120
968
|
"version": "10.6.0",
|
|
1121
969
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
|
|
1122
970
|
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
|
|
1123
|
-
"
|
|
971
|
+
"dev": true,
|
|
1124
972
|
"license": "MIT"
|
|
1125
973
|
},
|
|
1126
974
|
"node_modules/cliui/node_modules/string-width": {
|
|
1127
975
|
"version": "7.2.0",
|
|
1128
976
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
|
1129
977
|
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
|
|
1130
|
-
"
|
|
978
|
+
"dev": true,
|
|
1131
979
|
"license": "MIT",
|
|
1132
980
|
"dependencies": {
|
|
1133
981
|
"emoji-regex": "^10.3.0",
|
|
@@ -1145,7 +993,7 @@
|
|
|
1145
993
|
"version": "7.2.0",
|
|
1146
994
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
|
1147
995
|
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
|
1148
|
-
"
|
|
996
|
+
"dev": true,
|
|
1149
997
|
"license": "MIT",
|
|
1150
998
|
"dependencies": {
|
|
1151
999
|
"ansi-regex": "^6.2.2"
|
|
@@ -1273,7 +1121,7 @@
|
|
|
1273
1121
|
"version": "3.4.2",
|
|
1274
1122
|
"resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz",
|
|
1275
1123
|
"integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==",
|
|
1276
|
-
"
|
|
1124
|
+
"dev": true,
|
|
1277
1125
|
"license": "MIT",
|
|
1278
1126
|
"engines": {
|
|
1279
1127
|
"node": "^14.18.0 || >=16.10.0"
|
|
@@ -1432,7 +1280,7 @@
|
|
|
1432
1280
|
"version": "9.0.0",
|
|
1433
1281
|
"resolved": "https://registry.npmjs.org/diff/-/diff-9.0.0.tgz",
|
|
1434
1282
|
"integrity": "sha512-svtcdpS8CgJyqAjEQIXdb3OjhFVVYjzGAPO8WGCmRbrml64SPw/jJD4GoE98aR7r25A0XcgrK3F02yw9R/vhQw==",
|
|
1435
|
-
"
|
|
1283
|
+
"dev": true,
|
|
1436
1284
|
"license": "BSD-3-Clause",
|
|
1437
1285
|
"engines": {
|
|
1438
1286
|
"node": ">=0.3.1"
|
|
@@ -1543,7 +1391,7 @@
|
|
|
1543
1391
|
"version": "3.2.0",
|
|
1544
1392
|
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
|
|
1545
1393
|
"integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
|
|
1546
|
-
"
|
|
1394
|
+
"dev": true,
|
|
1547
1395
|
"license": "MIT",
|
|
1548
1396
|
"engines": {
|
|
1549
1397
|
"node": ">=6"
|
|
@@ -1814,7 +1662,7 @@
|
|
|
1814
1662
|
"version": "2.0.5",
|
|
1815
1663
|
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
|
1816
1664
|
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
|
1817
|
-
"
|
|
1665
|
+
"dev": true,
|
|
1818
1666
|
"license": "ISC",
|
|
1819
1667
|
"engines": {
|
|
1820
1668
|
"node": "6.* || 8.* || >= 10.*"
|
|
@@ -1824,7 +1672,7 @@
|
|
|
1824
1672
|
"version": "1.6.0",
|
|
1825
1673
|
"resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz",
|
|
1826
1674
|
"integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==",
|
|
1827
|
-
"
|
|
1675
|
+
"dev": true,
|
|
1828
1676
|
"license": "MIT",
|
|
1829
1677
|
"engines": {
|
|
1830
1678
|
"node": ">=18"
|
|
@@ -2250,7 +2098,7 @@
|
|
|
2250
2098
|
"version": "3.1.3",
|
|
2251
2099
|
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
|
|
2252
2100
|
"integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
|
|
2253
|
-
"
|
|
2101
|
+
"dev": true,
|
|
2254
2102
|
"license": "MIT",
|
|
2255
2103
|
"engines": {
|
|
2256
2104
|
"node": ">=14"
|
|
@@ -2634,9 +2482,9 @@
|
|
|
2634
2482
|
}
|
|
2635
2483
|
},
|
|
2636
2484
|
"node_modules/p-limit": {
|
|
2637
|
-
"version": "7.3.
|
|
2638
|
-
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.
|
|
2639
|
-
"integrity": "sha512-
|
|
2485
|
+
"version": "7.3.2",
|
|
2486
|
+
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-7.3.2.tgz",
|
|
2487
|
+
"integrity": "sha512-Ll0w3fU24vYpXoZmjjZIee6bJQDgG0oAyo1PdmFYI8UDwJJddaHAypxIH9avUu+t+lSsAwKVsb1jDCMIIChliw==",
|
|
2640
2488
|
"license": "MIT",
|
|
2641
2489
|
"dependencies": {
|
|
2642
2490
|
"yocto-queue": "^1.2.1"
|
|
@@ -2786,9 +2634,9 @@
|
|
|
2786
2634
|
}
|
|
2787
2635
|
},
|
|
2788
2636
|
"node_modules/qs": {
|
|
2789
|
-
"version": "6.
|
|
2790
|
-
"resolved": "https://registry.npmjs.org/qs/-/qs-6.
|
|
2791
|
-
"integrity": "sha512-
|
|
2637
|
+
"version": "6.16.0",
|
|
2638
|
+
"resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz",
|
|
2639
|
+
"integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==",
|
|
2792
2640
|
"license": "BSD-3-Clause",
|
|
2793
2641
|
"dependencies": {
|
|
2794
2642
|
"es-define-property": "^1.0.1",
|
|
@@ -3555,9 +3403,9 @@
|
|
|
3555
3403
|
"license": "MIT"
|
|
3556
3404
|
},
|
|
3557
3405
|
"node_modules/uuid": {
|
|
3558
|
-
"version": "14.0.
|
|
3559
|
-
"resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.
|
|
3560
|
-
"integrity": "sha512-
|
|
3406
|
+
"version": "14.0.2",
|
|
3407
|
+
"resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.2.tgz",
|
|
3408
|
+
"integrity": "sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ==",
|
|
3561
3409
|
"funding": [
|
|
3562
3410
|
"https://github.com/sponsors/broofa",
|
|
3563
3411
|
"https://github.com/sponsors/ctavan"
|
|
@@ -3691,7 +3539,7 @@
|
|
|
3691
3539
|
"version": "9.0.2",
|
|
3692
3540
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
|
|
3693
3541
|
"integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
|
|
3694
|
-
"
|
|
3542
|
+
"dev": true,
|
|
3695
3543
|
"license": "MIT",
|
|
3696
3544
|
"dependencies": {
|
|
3697
3545
|
"ansi-styles": "^6.2.1",
|
|
@@ -3709,7 +3557,7 @@
|
|
|
3709
3557
|
"version": "6.2.3",
|
|
3710
3558
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
|
|
3711
3559
|
"integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
|
|
3712
|
-
"
|
|
3560
|
+
"dev": true,
|
|
3713
3561
|
"license": "MIT",
|
|
3714
3562
|
"engines": {
|
|
3715
3563
|
"node": ">=12"
|
|
@@ -3722,14 +3570,14 @@
|
|
|
3722
3570
|
"version": "10.6.0",
|
|
3723
3571
|
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
|
|
3724
3572
|
"integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
|
|
3725
|
-
"
|
|
3573
|
+
"dev": true,
|
|
3726
3574
|
"license": "MIT"
|
|
3727
3575
|
},
|
|
3728
3576
|
"node_modules/wrap-ansi/node_modules/string-width": {
|
|
3729
3577
|
"version": "7.2.0",
|
|
3730
3578
|
"resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
|
|
3731
3579
|
"integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
|
|
3732
|
-
"
|
|
3580
|
+
"dev": true,
|
|
3733
3581
|
"license": "MIT",
|
|
3734
3582
|
"dependencies": {
|
|
3735
3583
|
"emoji-regex": "^10.3.0",
|
|
@@ -3747,7 +3595,7 @@
|
|
|
3747
3595
|
"version": "7.2.0",
|
|
3748
3596
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
|
3749
3597
|
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
|
3750
|
-
"
|
|
3598
|
+
"dev": true,
|
|
3751
3599
|
"license": "MIT",
|
|
3752
3600
|
"dependencies": {
|
|
3753
3601
|
"ansi-regex": "^6.2.2"
|
|
@@ -3799,7 +3647,7 @@
|
|
|
3799
3647
|
"version": "5.0.8",
|
|
3800
3648
|
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
|
3801
3649
|
"integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
|
|
3802
|
-
"
|
|
3650
|
+
"dev": true,
|
|
3803
3651
|
"license": "ISC",
|
|
3804
3652
|
"engines": {
|
|
3805
3653
|
"node": ">=10"
|
|
@@ -3809,7 +3657,7 @@
|
|
|
3809
3657
|
"version": "2.9.0",
|
|
3810
3658
|
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
|
|
3811
3659
|
"integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
|
|
3812
|
-
"
|
|
3660
|
+
"dev": true,
|
|
3813
3661
|
"license": "ISC",
|
|
3814
3662
|
"bin": {
|
|
3815
3663
|
"yaml": "bin.mjs"
|
|
@@ -3821,16 +3669,67 @@
|
|
|
3821
3669
|
"url": "https://github.com/sponsors/eemeli"
|
|
3822
3670
|
}
|
|
3823
3671
|
},
|
|
3672
|
+
"node_modules/yargs": {
|
|
3673
|
+
"version": "18.1.0",
|
|
3674
|
+
"resolved": "https://registry.npmjs.org/yargs/-/yargs-18.1.0.tgz",
|
|
3675
|
+
"integrity": "sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg==",
|
|
3676
|
+
"dev": true,
|
|
3677
|
+
"license": "MIT",
|
|
3678
|
+
"dependencies": {
|
|
3679
|
+
"cliui": "^9.0.1",
|
|
3680
|
+
"escalade": "^3.1.1",
|
|
3681
|
+
"get-caller-file": "^2.0.5",
|
|
3682
|
+
"string-width": "^8.2.1",
|
|
3683
|
+
"y18n": "^5.0.5",
|
|
3684
|
+
"yargs-parser": "^22.0.0"
|
|
3685
|
+
},
|
|
3686
|
+
"engines": {
|
|
3687
|
+
"node": "^20.19.0 || ^22.12.0 || >=23"
|
|
3688
|
+
}
|
|
3689
|
+
},
|
|
3824
3690
|
"node_modules/yargs-parser": {
|
|
3825
3691
|
"version": "22.0.0",
|
|
3826
3692
|
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz",
|
|
3827
3693
|
"integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==",
|
|
3828
|
-
"
|
|
3694
|
+
"dev": true,
|
|
3829
3695
|
"license": "ISC",
|
|
3830
3696
|
"engines": {
|
|
3831
3697
|
"node": "^20.19.0 || ^22.12.0 || >=23"
|
|
3832
3698
|
}
|
|
3833
3699
|
},
|
|
3700
|
+
"node_modules/yargs/node_modules/string-width": {
|
|
3701
|
+
"version": "8.2.2",
|
|
3702
|
+
"resolved": "https://registry.npmjs.org/string-width/-/string-width-8.2.2.tgz",
|
|
3703
|
+
"integrity": "sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==",
|
|
3704
|
+
"dev": true,
|
|
3705
|
+
"license": "MIT",
|
|
3706
|
+
"dependencies": {
|
|
3707
|
+
"get-east-asian-width": "^1.5.0",
|
|
3708
|
+
"strip-ansi": "^7.1.2"
|
|
3709
|
+
},
|
|
3710
|
+
"engines": {
|
|
3711
|
+
"node": ">=20"
|
|
3712
|
+
},
|
|
3713
|
+
"funding": {
|
|
3714
|
+
"url": "https://github.com/sponsors/sindresorhus"
|
|
3715
|
+
}
|
|
3716
|
+
},
|
|
3717
|
+
"node_modules/yargs/node_modules/strip-ansi": {
|
|
3718
|
+
"version": "7.2.0",
|
|
3719
|
+
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz",
|
|
3720
|
+
"integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
|
|
3721
|
+
"dev": true,
|
|
3722
|
+
"license": "MIT",
|
|
3723
|
+
"dependencies": {
|
|
3724
|
+
"ansi-regex": "^6.2.2"
|
|
3725
|
+
},
|
|
3726
|
+
"engines": {
|
|
3727
|
+
"node": ">=12"
|
|
3728
|
+
},
|
|
3729
|
+
"funding": {
|
|
3730
|
+
"url": "https://github.com/chalk/strip-ansi?sponsor=1"
|
|
3731
|
+
}
|
|
3732
|
+
},
|
|
3834
3733
|
"node_modules/yauzl": {
|
|
3835
3734
|
"version": "3.4.0",
|
|
3836
3735
|
"resolved": "https://registry.npmjs.org/yauzl/-/yauzl-3.4.0.tgz",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-xcuitest-driver",
|
|
3
|
-
"version": "12.8.
|
|
3
|
+
"version": "12.8.3",
|
|
4
4
|
"description": "Appium driver for iOS using XCUITest for backend",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"appium",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
},
|
|
73
73
|
"dependencies": {
|
|
74
74
|
"@appium/css-locator-to-native": "^1.0.1",
|
|
75
|
-
"@appium/strongbox": "^
|
|
75
|
+
"@appium/strongbox": "^2.0.0",
|
|
76
76
|
"@colors/colors": "^1.6.0",
|
|
77
77
|
"appium-ios-device": "^3.1.12",
|
|
78
78
|
"appium-ios-simulator": "^9.0.0",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"ws": "^8.13.0"
|
|
96
96
|
},
|
|
97
97
|
"devDependencies": {
|
|
98
|
-
"@appium/docutils": "^
|
|
98
|
+
"@appium/docutils": "^3.0.0",
|
|
99
99
|
"@appium/oxc-config": "^1.1.0",
|
|
100
100
|
"@appium/semantic-release-config": "^1.1.0",
|
|
101
101
|
"@appium/tsconfig": "^1.2.0",
|