appium-xcode 7.0.0 → 7.1.0
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/helpers.d.ts.map +1 -1
- package/build/lib/helpers.js +3 -5
- package/build/lib/helpers.js.map +1 -1
- package/build/lib/xcode.d.ts.map +1 -1
- package/build/lib/xcode.js +3 -4
- package/build/lib/xcode.js.map +1 -1
- package/lib/helpers.ts +4 -6
- package/lib/xcode.ts +12 -21
- package/package.json +30 -40
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [7.1.0](https://github.com/appium/appium-xcode/compare/v7.0.0...v7.1.0) (2026-07-25)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* Integrate oxc and release configs ([#190](https://github.com/appium/appium-xcode/issues/190)) ([5328105](https://github.com/appium/appium-xcode/commit/5328105735a4a1ba05c8dcff2557de93dbb79344))
|
|
6
|
+
|
|
1
7
|
## [7.0.0](https://github.com/appium/appium-xcode/compare/v6.2.6...v7.0.0) (2026-07-24)
|
|
2
8
|
|
|
3
9
|
### ⚠ BREAKING CHANGES
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../lib/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../lib/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAExD,eAAO,MAAM,aAAa,QAAQ,CAAC;AAEnC;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,MAAsB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAcxC;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAwBtE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAGxF"}
|
package/build/lib/helpers.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { exec } from 'teen_process';
|
|
2
|
-
import { fs, plist } from '@appium/support';
|
|
3
1
|
import path from 'node:path';
|
|
2
|
+
import { fs, plist } from '@appium/support';
|
|
3
|
+
import { exec } from 'teen_process';
|
|
4
4
|
export const XCRUN_TIMEOUT = 15000;
|
|
5
5
|
/**
|
|
6
6
|
* Executes 'xcrun' command line utility
|
|
@@ -17,9 +17,7 @@ export async function runXcrunCommand(args, timeout = XCRUN_TIMEOUT) {
|
|
|
17
17
|
catch (err) {
|
|
18
18
|
if (err instanceof Error) {
|
|
19
19
|
// the true error can be hidden within the stderr
|
|
20
|
-
const stderr = err && typeof err === 'object' && 'stderr' in err
|
|
21
|
-
? String(err.stderr)
|
|
22
|
-
: '';
|
|
20
|
+
const stderr = err && typeof err === 'object' && 'stderr' in err ? String(err.stderr) : '';
|
|
23
21
|
if (stderr) {
|
|
24
22
|
err.message = `${err.message}: ${stderr}`;
|
|
25
23
|
}
|
package/build/lib/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../lib/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../lib/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAC,EAAE,EAAE,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAGlC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAc,EACd,UAAkB,aAAa;IAE/B,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC;IAC9C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,iDAAiD;YACjD,MAAM,MAAM,GAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAE,GAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClH,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,CAAC,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YAC5C,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAgB;IACjD,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,CAAC,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACxF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM;SACxB,IAAI,EAAE;SACN,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACrC,CAAC,KAAK,IAAI,EAAE;QACV,IAAI,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC,EAAE,CACL,CAAC;IACF,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;AAClE,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,aAAqB;IACxD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAClE,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACnF,CAAC"}
|
package/build/lib/xcode.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcode.d.ts","sourceRoot":"","sources":["../../lib/xcode.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"xcode.d.ts","sourceRoot":"","sources":["../../lib/xcode.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAO7C;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAuC7F;AAED;;;;;;GAMG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAe/D;AAED;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,cACR,MAAM,KAAmB,OAAO,CAAC,MAAM,CAAC;;CAEnD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AACpG,wBAAsB,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AA0BzG;;;;;;;GAOG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAc9D;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/F;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,cACd,MAAM,YACN,MAAM;;CAGf,CAAC;AAEH;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,GAAE,MAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAQhG;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,cACf,MAAM,YACN,MAAM,KACd,OAAO,CAAC,MAAM,CAAC;;CAEhB,CAAC"}
|
package/build/lib/xcode.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { fs, logger, util } from '@appium/support';
|
|
2
1
|
import path from 'node:path';
|
|
2
|
+
import { fs, logger, util } from '@appium/support';
|
|
3
3
|
import { retry } from 'asyncbox';
|
|
4
|
-
import { exec } from 'teen_process';
|
|
5
4
|
import * as semver from 'semver';
|
|
5
|
+
import { exec } from 'teen_process';
|
|
6
6
|
import { runXcrunCommand, findAppPaths, XCRUN_TIMEOUT, readXcodePlist } from './helpers.js';
|
|
7
7
|
const DEFAULT_NUMBER_OF_RETRIES = 2;
|
|
8
8
|
const XCODE_BUNDLE_ID = 'com.apple.dt.Xcode';
|
|
@@ -109,8 +109,7 @@ export async function getClangVersion() {
|
|
|
109
109
|
await fs.which('clang');
|
|
110
110
|
}
|
|
111
111
|
catch {
|
|
112
|
-
log.info('Cannot find clang executable on the local system. '
|
|
113
|
-
'Are Xcode Command Line Tools installed?');
|
|
112
|
+
log.info('Cannot find clang executable on the local system. Are Xcode Command Line Tools installed?');
|
|
114
113
|
return null;
|
|
115
114
|
}
|
|
116
115
|
const { stdout } = await exec('clang', ['--version']);
|
package/build/lib/xcode.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcode.js","sourceRoot":"","sources":["../../lib/xcode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"xcode.js","sourceRoot":"","sources":["../../lib/xcode.ts"],"names":[],"mappings":"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"}
|
package/lib/helpers.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
|
|
3
|
+
import {fs, plist} from '@appium/support';
|
|
1
4
|
import {exec} from 'teen_process';
|
|
2
5
|
import type {TeenProcessExecResult} from 'teen_process';
|
|
3
|
-
import {fs, plist} from '@appium/support';
|
|
4
|
-
import path from 'node:path';
|
|
5
6
|
|
|
6
7
|
export const XCRUN_TIMEOUT = 15000;
|
|
7
8
|
|
|
@@ -22,10 +23,7 @@ export async function runXcrunCommand(
|
|
|
22
23
|
} catch (err) {
|
|
23
24
|
if (err instanceof Error) {
|
|
24
25
|
// the true error can be hidden within the stderr
|
|
25
|
-
const stderr =
|
|
26
|
-
err && typeof err === 'object' && 'stderr' in err
|
|
27
|
-
? String((err as {stderr: unknown}).stderr)
|
|
28
|
-
: '';
|
|
26
|
+
const stderr = err && typeof err === 'object' && 'stderr' in err ? String((err as {stderr: unknown}).stderr) : '';
|
|
29
27
|
if (stderr) {
|
|
30
28
|
err.message = `${err.message}: ${stderr}`;
|
|
31
29
|
}
|
package/lib/xcode.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import {fs, logger, util} from '@appium/support';
|
|
2
1
|
import path from 'node:path';
|
|
2
|
+
|
|
3
|
+
import {fs, logger, util} from '@appium/support';
|
|
3
4
|
import {retry} from 'asyncbox';
|
|
4
|
-
import {exec} from 'teen_process';
|
|
5
5
|
import * as semver from 'semver';
|
|
6
|
+
import {exec} from 'teen_process';
|
|
7
|
+
|
|
6
8
|
import {runXcrunCommand, findAppPaths, XCRUN_TIMEOUT, readXcodePlist} from './helpers.js';
|
|
7
9
|
import type {XcodeVersion} from './types.js';
|
|
8
10
|
|
|
@@ -25,9 +27,7 @@ export async function getPathFromXcodeSelect(timeout: number = XCRUN_TIMEOUT): P
|
|
|
25
27
|
return `${prefix}. Consider installing Xcode to address this issue.`;
|
|
26
28
|
}
|
|
27
29
|
|
|
28
|
-
const proposals = xcodePaths.map(
|
|
29
|
-
(p) => ` sudo xcode-select -s "${path.join(p, 'Contents', 'Developer')}"`,
|
|
30
|
-
);
|
|
30
|
+
const proposals = xcodePaths.map((p) => ` sudo xcode-select -s "${path.join(p, 'Contents', 'Developer')}"`);
|
|
31
31
|
return (
|
|
32
32
|
`${prefix}. ` +
|
|
33
33
|
`Consider running${proposals.length > 1 ? ' any of' : ''}:\n${proposals.join('\n')}\nto address this issue.`
|
|
@@ -38,8 +38,7 @@ export async function getPathFromXcodeSelect(timeout: number = XCRUN_TIMEOUT): P
|
|
|
38
38
|
try {
|
|
39
39
|
({stdout} = await exec('xcode-select', ['--print-path'], {timeout}));
|
|
40
40
|
} catch (e) {
|
|
41
|
-
const stderr =
|
|
42
|
-
e && typeof e === 'object' && 'stderr' in e ? String((e as {stderr: unknown}).stderr) : '';
|
|
41
|
+
const stderr = e && typeof e === 'object' && 'stderr' in e ? String((e as {stderr: unknown}).stderr) : '';
|
|
43
42
|
const message = e instanceof Error ? e.message : String(e);
|
|
44
43
|
const msg =
|
|
45
44
|
`Cannot determine the path to Xcode by running 'xcode-select -p' command. ` +
|
|
@@ -93,8 +92,9 @@ export async function getPathFromDeveloperDir(): Promise<string> {
|
|
|
93
92
|
* @returns Full path to Xcode Developer subfolder timeout
|
|
94
93
|
* @throws {Error} If there was an error while retrieving the path.
|
|
95
94
|
*/
|
|
96
|
-
export const getPath = util.memoize(
|
|
97
|
-
|
|
95
|
+
export const getPath = util.memoize(
|
|
96
|
+
(timeout: number = XCRUN_TIMEOUT): Promise<string> =>
|
|
97
|
+
process.env.DEVELOPER_DIR ? getPathFromDeveloperDir() : getPathFromXcodeSelect(timeout),
|
|
98
98
|
);
|
|
99
99
|
|
|
100
100
|
/**
|
|
@@ -107,11 +107,7 @@ export const getPath = util.memoize((timeout: number = XCRUN_TIMEOUT): Promise<s
|
|
|
107
107
|
* @throws {Error} If there was a failure while retrieving the version
|
|
108
108
|
*/
|
|
109
109
|
export async function getVersion(parse: false, retries?: number, timeout?: number): Promise<string>;
|
|
110
|
-
export async function getVersion(
|
|
111
|
-
parse: true,
|
|
112
|
-
retries?: number,
|
|
113
|
-
timeout?: number,
|
|
114
|
-
): Promise<XcodeVersion>;
|
|
110
|
+
export async function getVersion(parse: true, retries?: number, timeout?: number): Promise<XcodeVersion>;
|
|
115
111
|
export async function getVersion(
|
|
116
112
|
parse: boolean = false,
|
|
117
113
|
retries: number = DEFAULT_NUMBER_OF_RETRIES,
|
|
@@ -149,10 +145,7 @@ export async function getClangVersion(): Promise<string | null> {
|
|
|
149
145
|
try {
|
|
150
146
|
await fs.which('clang');
|
|
151
147
|
} catch {
|
|
152
|
-
log.info(
|
|
153
|
-
'Cannot find clang executable on the local system. ' +
|
|
154
|
-
'Are Xcode Command Line Tools installed?',
|
|
155
|
-
);
|
|
148
|
+
log.info('Cannot find clang executable on the local system. Are Xcode Command Line Tools installed?');
|
|
156
149
|
return null;
|
|
157
150
|
}
|
|
158
151
|
const {stdout} = await exec('clang', ['--version']);
|
|
@@ -238,9 +231,7 @@ export const getMaxTVOSSDK = util.memoize(async function getMaxTVOSSDK(
|
|
|
238
231
|
* @returns Xcode version
|
|
239
232
|
* @throws {Error} If there was a failure while retrieving the version
|
|
240
233
|
*/
|
|
241
|
-
async function getVersionWithoutRetry(
|
|
242
|
-
timeout: number = XCRUN_TIMEOUT,
|
|
243
|
-
): Promise<semver.SemVer | null> {
|
|
234
|
+
async function getVersionWithoutRetry(timeout: number = XCRUN_TIMEOUT): Promise<semver.SemVer | null> {
|
|
244
235
|
const developerPath = await getPath(timeout);
|
|
245
236
|
// we want to read the CFBundleShortVersionString from Xcode's plist.
|
|
246
237
|
const {CFBundleShortVersionString} = await readXcodePlist(developerPath);
|
package/package.json
CHANGED
|
@@ -1,75 +1,65 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-xcode",
|
|
3
|
+
"version": "7.1.0",
|
|
3
4
|
"description": "Interact with Xcode",
|
|
4
5
|
"keywords": [
|
|
5
6
|
"appium",
|
|
6
7
|
"ios",
|
|
7
8
|
"xcode"
|
|
8
9
|
],
|
|
9
|
-
"
|
|
10
|
-
|
|
10
|
+
"bugs": {
|
|
11
|
+
"url": "https://github.com/appium/appium-xcode/issues"
|
|
12
|
+
},
|
|
11
13
|
"license": "Apache-2.0",
|
|
14
|
+
"author": "Appium Contributors",
|
|
12
15
|
"repository": {
|
|
13
16
|
"type": "git",
|
|
14
17
|
"url": "https://github.com/appium/appium-xcode.git"
|
|
15
18
|
},
|
|
16
|
-
"bugs": {
|
|
17
|
-
"url": "https://github.com/appium/appium-xcode/issues"
|
|
18
|
-
},
|
|
19
|
-
"engines": {
|
|
20
|
-
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
|
|
21
|
-
"npm": ">=10"
|
|
22
|
-
},
|
|
23
|
-
"main": "./build/lib/index.js",
|
|
24
|
-
"types": "./build/lib/index.d.ts",
|
|
25
19
|
"files": [
|
|
26
20
|
"lib",
|
|
27
21
|
"build/lib",
|
|
28
22
|
"CHANGELOG.md"
|
|
29
23
|
],
|
|
30
|
-
"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
"
|
|
24
|
+
"type": "module",
|
|
25
|
+
"main": "./build/lib/index.js",
|
|
26
|
+
"types": "./build/lib/index.d.ts",
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./build/lib/index.d.ts",
|
|
30
|
+
"import": "./build/lib/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./package.json": "./package.json"
|
|
35
33
|
},
|
|
36
34
|
"scripts": {
|
|
37
35
|
"build": "tsc -b",
|
|
38
36
|
"clean": "npm run build -- --clean",
|
|
39
37
|
"rebuild": "npm run clean; npm run build",
|
|
40
38
|
"dev": "npm run build -- --watch",
|
|
41
|
-
"lint": "
|
|
42
|
-
"lint:fix": "
|
|
43
|
-
"format": "
|
|
44
|
-
"format:check": "
|
|
39
|
+
"lint": "oxlint -c oxlint.config.mjs .",
|
|
40
|
+
"lint:fix": "oxlint -c oxlint.config.mjs --fix .",
|
|
41
|
+
"format": "oxfmt -c oxfmt.config.mjs .",
|
|
42
|
+
"format:check": "oxfmt -c oxfmt.config.mjs --check .",
|
|
45
43
|
"prepare": "npm run build",
|
|
46
44
|
"test": "node --enable-source-maps --test --test-timeout=60000 \"./build/test/unit/**/*.spec.js\"",
|
|
47
45
|
"e2e-test": "node --enable-source-maps --test --test-force-exit --test-concurrency=1 --test-timeout=300000 \"./build/test/e2e/**/*.spec.js\""
|
|
48
46
|
},
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@appium/support": "^7.2.2",
|
|
49
|
+
"asyncbox": "^6.0.1",
|
|
50
|
+
"semver": "^7.0.0",
|
|
51
|
+
"teen_process": "^4.0.4"
|
|
53
52
|
},
|
|
54
53
|
"devDependencies": {
|
|
55
|
-
"@appium/
|
|
56
|
-
"@appium/
|
|
54
|
+
"@appium/oxc-config": "^1.1.0",
|
|
55
|
+
"@appium/semantic-release-config": "^1.1.0",
|
|
56
|
+
"@appium/tsconfig": "^1.2.0",
|
|
57
57
|
"@appium/types": "^1.0.0-rc.1",
|
|
58
|
-
"@semantic-release/changelog": "^6.0.1",
|
|
59
|
-
"@semantic-release/git": "^10.0.1",
|
|
60
58
|
"@types/node": "^26.0.0",
|
|
61
|
-
"@types/semver": "^7.7.1"
|
|
62
|
-
"conventional-changelog-conventionalcommits": "^9.3.1",
|
|
63
|
-
"prettier": "^3.9.3",
|
|
64
|
-
"semantic-release": "^25.0.2",
|
|
65
|
-
"typescript": "^6.0.2"
|
|
59
|
+
"@types/semver": "^7.7.1"
|
|
66
60
|
},
|
|
67
|
-
"
|
|
68
|
-
|
|
69
|
-
"
|
|
70
|
-
"types": "./build/lib/index.d.ts",
|
|
71
|
-
"import": "./build/lib/index.js"
|
|
72
|
-
},
|
|
73
|
-
"./package.json": "./package.json"
|
|
61
|
+
"engines": {
|
|
62
|
+
"node": "^20.19.0 || ^22.12.0 || >=24.0.0",
|
|
63
|
+
"npm": ">=10"
|
|
74
64
|
}
|
|
75
65
|
}
|