appium-xcode 7.0.0 → 7.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -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 +9 -19
- package/package.json +30 -40
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
## [7.1.1](https://github.com/appium/appium-xcode/compare/v7.1.0...v7.1.1) (2026-09-01)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* bump support & other deps ([#191](https://github.com/appium/appium-xcode/issues/191)) ([6b8ff03](https://github.com/appium/appium-xcode/commit/6b8ff03e3d1a4b8be96476875592d3de15720c47))
|
|
6
|
+
|
|
7
|
+
## [7.1.0](https://github.com/appium/appium-xcode/compare/v7.0.0...v7.1.0) (2026-07-25)
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* Integrate oxc and release configs ([#190](https://github.com/appium/appium-xcode/issues/190)) ([5328105](https://github.com/appium/appium-xcode/commit/5328105735a4a1ba05c8dcff2557de93dbb79344))
|
|
12
|
+
|
|
1
13
|
## [7.0.0](https://github.com/appium/appium-xcode/compare/v6.2.6...v7.0.0) (2026-07-24)
|
|
2
14
|
|
|
3
15
|
### ⚠ 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,cAA0B,MAAM,KAAmB,OAAO,CAAC,MAAM,CAAC;;CAErF,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. ` +
|
|
@@ -107,11 +106,7 @@ export const getPath = util.memoize((timeout: number = XCRUN_TIMEOUT): Promise<s
|
|
|
107
106
|
* @throws {Error} If there was a failure while retrieving the version
|
|
108
107
|
*/
|
|
109
108
|
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>;
|
|
109
|
+
export async function getVersion(parse: true, retries?: number, timeout?: number): Promise<XcodeVersion>;
|
|
115
110
|
export async function getVersion(
|
|
116
111
|
parse: boolean = false,
|
|
117
112
|
retries: number = DEFAULT_NUMBER_OF_RETRIES,
|
|
@@ -149,10 +144,7 @@ export async function getClangVersion(): Promise<string | null> {
|
|
|
149
144
|
try {
|
|
150
145
|
await fs.which('clang');
|
|
151
146
|
} catch {
|
|
152
|
-
log.info(
|
|
153
|
-
'Cannot find clang executable on the local system. ' +
|
|
154
|
-
'Are Xcode Command Line Tools installed?',
|
|
155
|
-
);
|
|
147
|
+
log.info('Cannot find clang executable on the local system. Are Xcode Command Line Tools installed?');
|
|
156
148
|
return null;
|
|
157
149
|
}
|
|
158
150
|
const {stdout} = await exec('clang', ['--version']);
|
|
@@ -238,9 +230,7 @@ export const getMaxTVOSSDK = util.memoize(async function getMaxTVOSSDK(
|
|
|
238
230
|
* @returns Xcode version
|
|
239
231
|
* @throws {Error} If there was a failure while retrieving the version
|
|
240
232
|
*/
|
|
241
|
-
async function getVersionWithoutRetry(
|
|
242
|
-
timeout: number = XCRUN_TIMEOUT,
|
|
243
|
-
): Promise<semver.SemVer | null> {
|
|
233
|
+
async function getVersionWithoutRetry(timeout: number = XCRUN_TIMEOUT): Promise<semver.SemVer | null> {
|
|
244
234
|
const developerPath = await getPath(timeout);
|
|
245
235
|
// we want to read the CFBundleShortVersionString from Xcode's plist.
|
|
246
236
|
const {CFBundleShortVersionString} = await readXcodePlist(developerPath);
|
package/package.json
CHANGED
|
@@ -1,75 +1,65 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-xcode",
|
|
3
|
+
"version": "7.1.1",
|
|
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.6",
|
|
49
|
+
"asyncbox": "^6.4.3",
|
|
50
|
+
"semver": "^7.0.0",
|
|
51
|
+
"teen_process": "^4.2.0"
|
|
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
|
}
|