appium-mac2-driver 4.3.6 → 4.5.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.
Files changed (106) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/WebDriverAgentMac/IntegrationTests/AMSessionTests.m +14 -0
  3. package/WebDriverAgentMac/IntegrationTests/AMWindowTests.m +427 -0
  4. package/WebDriverAgentMac/WebDriverAgentLib/Commands/AMWindowCommands.m +63 -0
  5. package/WebDriverAgentMac/WebDriverAgentLib/Commands/FBDebugCommands.m +2 -0
  6. package/WebDriverAgentMac/WebDriverAgentLib/Commands/FBSessionCommands.m +17 -5
  7. package/WebDriverAgentMac/WebDriverAgentLib/Routing/FBCommandStatus.h +3 -0
  8. package/WebDriverAgentMac/WebDriverAgentLib/Routing/FBCommandStatus.m +13 -0
  9. package/WebDriverAgentMac/WebDriverAgentLib/Routing/FBSession.m +5 -1
  10. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMScreenUtils.h +4 -0
  11. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMScreenUtils.m +23 -0
  12. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMSnapshotUtils.h +18 -0
  13. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMSnapshotUtils.m +43 -28
  14. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMWindowUtils.h +111 -0
  15. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMWindowUtils.m +780 -0
  16. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMXCTAccessibility.h +61 -0
  17. package/WebDriverAgentMac/WebDriverAgentLib/Utilities/AMXCTAccessibility.m +108 -0
  18. package/WebDriverAgentMac/WebDriverAgentMac.xcodeproj/project.pbxproj +20 -0
  19. package/build/lib/commands/native-record-screen.d.ts +2 -0
  20. package/build/lib/commands/native-record-screen.d.ts.map +1 -1
  21. package/build/lib/commands/native-record-screen.js.map +1 -1
  22. package/build/lib/commands/windows.d.ts +22 -0
  23. package/build/lib/commands/windows.d.ts.map +1 -0
  24. package/build/lib/commands/windows.js +32 -0
  25. package/build/lib/commands/windows.js.map +1 -0
  26. package/build/lib/driver.d.ts +15 -0
  27. package/build/lib/driver.d.ts.map +1 -1
  28. package/build/lib/driver.js +55 -32
  29. package/build/lib/driver.js.map +1 -1
  30. package/build/lib/execute-method-map.d.ts +9 -0
  31. package/build/lib/execute-method-map.d.ts.map +1 -1
  32. package/build/lib/execute-method-map.js +9 -0
  33. package/build/lib/execute-method-map.js.map +1 -1
  34. package/build/lib/session-claim-handler.d.ts +41 -0
  35. package/build/lib/session-claim-handler.d.ts.map +1 -0
  36. package/build/lib/session-claim-handler.js +236 -0
  37. package/build/lib/session-claim-handler.js.map +1 -0
  38. package/build/lib/types.d.ts +26 -0
  39. package/build/lib/types.d.ts.map +1 -1
  40. package/build/lib/wda-mac.d.ts +6 -2
  41. package/build/lib/wda-mac.d.ts.map +1 -1
  42. package/build/lib/wda-mac.js +39 -9
  43. package/build/lib/wda-mac.js.map +1 -1
  44. package/lib/commands/native-record-screen.ts +2 -0
  45. package/lib/commands/windows.ts +44 -0
  46. package/lib/driver.ts +59 -31
  47. package/lib/execute-method-map.ts +9 -0
  48. package/lib/session-claim-handler.ts +306 -0
  49. package/lib/types.ts +28 -0
  50. package/lib/wda-mac.ts +41 -10
  51. package/node_modules/appium-xcode/CHANGELOG.md +7 -0
  52. package/node_modules/appium-xcode/package.json +4 -4
  53. package/node_modules/async-lock/AUTHORS +21 -0
  54. package/node_modules/async-lock/History.md +132 -0
  55. package/node_modules/async-lock/LICENSE +22 -0
  56. package/node_modules/async-lock/README.md +177 -0
  57. package/node_modules/async-lock/index.js +2 -0
  58. package/node_modules/async-lock/lib/index.js +312 -0
  59. package/node_modules/async-lock/package.json +48 -0
  60. package/node_modules/bare-fs/binding.c +1 -1
  61. package/node_modules/bare-fs/index.js +30 -6
  62. package/node_modules/bare-fs/package.json +1 -1
  63. package/node_modules/bare-fs/prebuilds/android-arm/bare-fs.bare +0 -0
  64. package/node_modules/bare-fs/prebuilds/android-arm64/bare-fs.bare +0 -0
  65. package/node_modules/bare-fs/prebuilds/android-ia32/bare-fs.bare +0 -0
  66. package/node_modules/bare-fs/prebuilds/android-x64/bare-fs.bare +0 -0
  67. package/node_modules/bare-fs/prebuilds/darwin-arm64/bare-fs.bare +0 -0
  68. package/node_modules/bare-fs/prebuilds/darwin-x64/bare-fs.bare +0 -0
  69. package/node_modules/bare-fs/prebuilds/ios-arm64/bare-fs.bare +0 -0
  70. package/node_modules/bare-fs/prebuilds/ios-arm64-simulator/bare-fs.bare +0 -0
  71. package/node_modules/bare-fs/prebuilds/ios-x64-simulator/bare-fs.bare +0 -0
  72. package/node_modules/bare-fs/prebuilds/linux-arm64/bare-fs.bare +0 -0
  73. package/node_modules/bare-fs/prebuilds/linux-x64/bare-fs.bare +0 -0
  74. package/node_modules/bare-fs/prebuilds/win32-arm64/bare-fs.bare +0 -0
  75. package/node_modules/bare-fs/prebuilds/win32-x64/bare-fs.bare +0 -0
  76. package/node_modules/bare-url/README.md +4 -0
  77. package/node_modules/bare-url/index.d.ts +3 -0
  78. package/node_modules/bare-url/index.js +42 -18
  79. package/node_modules/bare-url/lib/errors.js +4 -0
  80. package/node_modules/bare-url/package.json +1 -1
  81. package/node_modules/bare-url/prebuilds/android-arm/bare-url.bare +0 -0
  82. package/node_modules/bare-url/prebuilds/android-arm64/bare-url.bare +0 -0
  83. package/node_modules/bare-url/prebuilds/android-ia32/bare-url.bare +0 -0
  84. package/node_modules/bare-url/prebuilds/android-x64/bare-url.bare +0 -0
  85. package/node_modules/bare-url/prebuilds/darwin-arm64/bare-url.bare +0 -0
  86. package/node_modules/bare-url/prebuilds/darwin-x64/bare-url.bare +0 -0
  87. package/node_modules/bare-url/prebuilds/ios-arm64/bare-url.bare +0 -0
  88. package/node_modules/bare-url/prebuilds/ios-arm64-simulator/bare-url.bare +0 -0
  89. package/node_modules/bare-url/prebuilds/ios-x64-simulator/bare-url.bare +0 -0
  90. package/node_modules/bare-url/prebuilds/linux-arm64/bare-url.bare +0 -0
  91. package/node_modules/bare-url/prebuilds/linux-x64/bare-url.bare +0 -0
  92. package/node_modules/bare-url/prebuilds/win32-arm64/bare-url.bare +0 -0
  93. package/node_modules/bare-url/prebuilds/win32-x64/bare-url.bare +0 -0
  94. package/node_modules/readable-stream/lib/internal/shims/process.js +19 -0
  95. package/node_modules/readable-stream/lib/internal/streams/destroy.js +1 -1
  96. package/node_modules/readable-stream/lib/internal/streams/duplexify.js +1 -1
  97. package/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +1 -1
  98. package/node_modules/readable-stream/lib/internal/streams/from.js +1 -1
  99. package/node_modules/readable-stream/lib/internal/streams/legacy.js +6 -1
  100. package/node_modules/readable-stream/lib/internal/streams/pipeline.js +1 -1
  101. package/node_modules/readable-stream/lib/internal/streams/readable.js +1 -1
  102. package/node_modules/readable-stream/lib/internal/streams/writable.js +1 -1
  103. package/node_modules/readable-stream/package.json +3 -2
  104. package/node_modules/tar-stream/package.json +7 -7
  105. package/package.json +6 -3
  106. package/scripts/setup-accessibility.mjs +175 -0
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "async-lock",
3
+ "description": "Lock on asynchronous code",
4
+ "version": "1.4.1",
5
+ "author": {
6
+ "name": "Rogier Schouten",
7
+ "url": "https://github.com/rogierschouten/",
8
+ "email": "github@workingcode.ninja"
9
+ },
10
+ "private": false,
11
+ "homepage": "https://github.com/rogierschouten/async-lock",
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "git+https://github.com/rogierschouten/async-lock.git"
15
+ },
16
+ "bugs": {
17
+ "url": "https://github.com/rogierschouten/async-lock/issues"
18
+ },
19
+ "license": "MIT",
20
+ "keywords": [
21
+ "lock",
22
+ "async",
23
+ "concurrency",
24
+ "critical",
25
+ "section",
26
+ "mutex"
27
+ ],
28
+ "engines": {},
29
+ "scripts": {
30
+ "start": "grunt",
31
+ "test": "grunt test"
32
+ },
33
+ "devDependencies": {
34
+ "bluebird": "^3.5.1",
35
+ "grunt": "^1.0.4",
36
+ "grunt-cli": "^1.2.0",
37
+ "grunt-contrib-clean": "^1.1.0",
38
+ "grunt-contrib-jshint": "^3.2.0",
39
+ "grunt-contrib-watch": "^1.1.0",
40
+ "grunt-env": "^1.0.1",
41
+ "grunt-mocha-test": "^0.13.3",
42
+ "load-grunt-tasks": "^4.0.0",
43
+ "lodash": "^4.17.20",
44
+ "mocha": "^10.2.0",
45
+ "q": "^1.5.1",
46
+ "should": "^13.2.1"
47
+ }
48
+ }
@@ -294,7 +294,7 @@ bare_fs_request_result_stat(js_env_t *env, js_callback_info_t *info) {
294
294
  uv_timespec_t time = req->handle.statbuf.st_##property; \
295
295
  \
296
296
  js_value_t *value; \
297
- err = js_create_int64(env, time.tv_sec * 1000 + time.tv_nsec / 1000000, &value); \
297
+ err = js_create_int64(env, (int64_t) time.tv_sec * 1000 + time.tv_nsec / 1000000, &value); \
298
298
  assert(err == 0); \
299
299
  \
300
300
  err = js_set_element(env, result, i++, value); \
@@ -1469,6 +1469,20 @@ async function cp(src, dst, opts, cb) {
1469
1469
  } else if (st.isFile()) {
1470
1470
  await copyFile(src, dst)
1471
1471
  await chmod(dst, st.mode)
1472
+ } else if (st.isSymbolicLink()) {
1473
+ try {
1474
+ if (!(await lstat(dst)).isDirectory()) await unlink(dst)
1475
+ } catch (e) {
1476
+ if (e.code !== 'ENOENT') throw e
1477
+ }
1478
+
1479
+ await symlink(await readlink(src), dst)
1480
+ } else {
1481
+ throw new FileError('cannot copy a special file', {
1482
+ operation: 'cp',
1483
+ code: 'ENOTSUP',
1484
+ path: src
1485
+ })
1472
1486
  }
1473
1487
  } catch (e) {
1474
1488
  err = e
@@ -1503,6 +1517,20 @@ function cpSync(src, dst, opts = {}) {
1503
1517
  } else if (st.isFile()) {
1504
1518
  copyFileSync(src, dst)
1505
1519
  chmodSync(dst, st.mode)
1520
+ } else if (st.isSymbolicLink()) {
1521
+ try {
1522
+ if (!lstatSync(dst).isDirectory()) unlinkSync(dst)
1523
+ } catch (e) {
1524
+ if (e.code !== 'ENOENT') throw e
1525
+ }
1526
+
1527
+ symlinkSync(readlinkSync(src), dst)
1528
+ } else {
1529
+ throw new FileError('cannot copy a special file', {
1530
+ operation: 'cp',
1531
+ code: 'ENOTSUP',
1532
+ path: src
1533
+ })
1506
1534
  }
1507
1535
  }
1508
1536
 
@@ -1736,9 +1764,7 @@ async function symlink(target, filepath, type, cb) {
1736
1764
  target = path.resolve(filepath, '..', target)
1737
1765
 
1738
1766
  try {
1739
- type = (await stat(target)).isDirectory()
1740
- ? constants.UV_FS_SYMLINK_DIR
1741
- : constants.UV_FS_SYMLINK_JUNCTION
1767
+ type = (await stat(target)).isDirectory() ? constants.UV_FS_SYMLINK_DIR : 0
1742
1768
  } catch {
1743
1769
  type = 0
1744
1770
  }
@@ -1791,9 +1817,7 @@ function symlinkSync(target, filepath, type) {
1791
1817
  target = path.resolve(filepath, '..', target)
1792
1818
 
1793
1819
  try {
1794
- type = statSync(target).isDirectory()
1795
- ? constants.UV_FS_SYMLINK_DIR
1796
- : constants.UV_FS_SYMLINK_JUNCTION
1820
+ type = statSync(target).isDirectory() ? constants.UV_FS_SYMLINK_DIR : 0
1797
1821
  } catch {
1798
1822
  type = 0
1799
1823
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bare-fs",
3
- "version": "4.8.2",
3
+ "version": "4.8.4",
4
4
  "description": "Native file system operations for Bare",
5
5
  "exports": {
6
6
  "./package": "./package.json",
@@ -28,6 +28,10 @@ require('bare-url/global')
28
28
 
29
29
  See the [`bare-url` reference](https://docs.pears.com/reference/bare/modules/bare-url).
30
30
 
31
+ ## Threat model
32
+
33
+ `bare-url` is one of the addons Bare compiles into its binary, so it inherits [Bare's threat model](https://github.com/holepunchto/bare/blob/main/docs/threat-model.md). See [`docs/threat-model.md`](docs/threat-model.md) for where this addon sits in it.
34
+
31
35
  ## License
32
36
 
33
37
  Apache-2.0
@@ -87,6 +87,9 @@ declare namespace URL {
87
87
  /**
88
88
  * Convert a platform-specific file path to a `file:` URL.
89
89
  * @param pathname - The platform-specific file path to convert.
90
+ * @throws {INVALID_ARG_VALUE} (Windows) the path is a UNC path with an empty server name or
91
+ * no resource path.
92
+ * @throws {INVALID_URL} the path does not form a valid `file:` URL.
90
93
  */
91
94
  export function pathToFileURL(pathname: string): URL
92
95
 
@@ -494,6 +494,26 @@ function encodePath(value) {
494
494
  return value.replace(pathDelimiterAll, (match) => escapes[match])
495
495
  }
496
496
 
497
+ function encodeFilePath(value) {
498
+ // Paths hardly ever contain any of these, so one pass to rule them out is
499
+ // cheaper than the six or seven replacements it stands in for.
500
+ if (!reserved.test(value)) return value
501
+
502
+ value = value
503
+ .replaceAll('%', '%25') // Must be first
504
+ .replaceAll('#', '%23')
505
+ .replaceAll('?', '%3f')
506
+ .replaceAll('\n', '%0a')
507
+ .replaceAll('\r', '%0d')
508
+ .replaceAll('\t', '%09')
509
+
510
+ if (!isWindows) {
511
+ value = value.replaceAll('\\', '%5c')
512
+ }
513
+
514
+ return value
515
+ }
516
+
497
517
  function encodeQuery(value) {
498
518
  if (value.indexOf('#') === -1) return value
499
519
 
@@ -600,7 +620,27 @@ exports.fileURLToPath = function fileURLToPath(url) {
600
620
  }
601
621
 
602
622
  exports.pathToFileURL = function pathToFileURL(pathname) {
603
- let resolved = path.resolve(pathname)
623
+ const isUNC = isWindows && pathname.startsWith('\\\\')
624
+
625
+ let resolved = isUNC ? pathname : path.resolve(pathname)
626
+
627
+ if (isUNC || (isWindows && resolved.startsWith('\\\\'))) {
628
+ // https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation
629
+ const hostStart = resolved.startsWith('\\\\?\\UNC\\') ? 8 : 2
630
+ const hostEnd = resolved.indexOf('\\', hostStart)
631
+
632
+ if (hostEnd === -1) {
633
+ throw errors.INVALID_ARG_VALUE('Missing UNC resource path')
634
+ }
635
+
636
+ if (hostEnd === 2) {
637
+ throw errors.INVALID_ARG_VALUE('Empty UNC servername')
638
+ }
639
+
640
+ const hostname = truncateHost('file', resolved.slice(hostStart, hostEnd))
641
+
642
+ return new URL('file://' + hostname + encodeFilePath(resolved.slice(hostEnd)))
643
+ }
604
644
 
605
645
  if (pathname[pathname.length - 1] === '/') {
606
646
  resolved += '/'
@@ -608,23 +648,7 @@ exports.pathToFileURL = function pathToFileURL(pathname) {
608
648
  resolved += '\\'
609
649
  }
610
650
 
611
- // Paths hardly ever contain any of these, so one pass to rule them out is
612
- // cheaper than the six or seven replacements it stands in for.
613
- if (reserved.test(resolved)) {
614
- resolved = resolved
615
- .replaceAll('%', '%25') // Must be first
616
- .replaceAll('#', '%23')
617
- .replaceAll('?', '%3f')
618
- .replaceAll('\n', '%0a')
619
- .replaceAll('\r', '%0d')
620
- .replaceAll('\t', '%09')
621
-
622
- if (!isWindows) {
623
- resolved = resolved.replaceAll('\\', '%5c')
624
- }
625
- }
626
-
627
- return new URL('file:' + resolved)
651
+ return new URL('file:' + encodeFilePath(resolved))
628
652
  }
629
653
 
630
654
  exports.format = function format(parts) {
@@ -30,4 +30,8 @@ module.exports = class URLError extends Error {
30
30
  static INVALID_FILE_URL_PATH(msg = 'Invalid file: URL path') {
31
31
  return new URLError(msg, URLError.INVALID_FILE_URL_PATH)
32
32
  }
33
+
34
+ static INVALID_ARG_VALUE(msg = 'Invalid argument value') {
35
+ return new URLError(msg, URLError.INVALID_ARG_VALUE)
36
+ }
33
37
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bare-url",
3
- "version": "2.5.4",
3
+ "version": "2.5.5",
4
4
  "description": "WHATWG URL implementation for JavaScript",
5
5
  "exports": {
6
6
  "./package": "./package.json",
@@ -0,0 +1,19 @@
1
+ 'use strict'
2
+
3
+ /* wraps the internal process module, circumventing issues with some polyfills (see #539) */
4
+ const process = ((base, esmKey, keys, isValid) => {
5
+ if (esmKey in base && base[esmKey] === true) {
6
+ let candidate
7
+ for (const key of keys) {
8
+ if (!(key in base)) {
9
+ continue
10
+ }
11
+ candidate = base[key]
12
+ if (isValid(candidate)) {
13
+ return candidate
14
+ }
15
+ }
16
+ }
17
+ return base
18
+ })(require('process/'), '__esModule', ['default', 'process'], (candidate) => 'nextTick' in candidate)
19
+ module.exports = process
@@ -2,7 +2,7 @@
2
2
 
3
3
  /* replacement start */
4
4
 
5
- const process = require('process/')
5
+ const process = require('../shims/process')
6
6
 
7
7
  /* replacement end */
8
8
 
@@ -1,6 +1,6 @@
1
1
  /* replacement start */
2
2
 
3
- const process = require('process/')
3
+ const process = require('../shims/process')
4
4
 
5
5
  /* replacement end */
6
6
 
@@ -5,7 +5,7 @@
5
5
 
6
6
  /* replacement start */
7
7
 
8
- const process = require('process/')
8
+ const process = require('../shims/process')
9
9
 
10
10
  /* replacement end */
11
11
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  /* replacement start */
4
4
 
5
- const process = require('process/')
5
+ const process = require('../shims/process')
6
6
 
7
7
  /* replacement end */
8
8
 
@@ -42,8 +42,13 @@ Stream.prototype.pipe = function (dest, options) {
42
42
 
43
43
  // Don't leave dangling pipes when there are errors.
44
44
  function onerror(er) {
45
+ var _this$listenerCount
45
46
  cleanup()
46
- if (EE.listenerCount(this, 'error') === 0) {
47
+ if (
48
+ ((_this$listenerCount = this.listenerCount) === null || _this$listenerCount === undefined
49
+ ? undefined
50
+ : _this$listenerCount.call(this, 'error')) === 0
51
+ ) {
47
52
  this.emit('error', er)
48
53
  }
49
54
  }
@@ -1,6 +1,6 @@
1
1
  /* replacement start */
2
2
 
3
- const process = require('process/')
3
+ const process = require('../shims/process')
4
4
 
5
5
  /* replacement end */
6
6
  // Ported from https://github.com/mafintosh/pump with
@@ -23,7 +23,7 @@
23
23
 
24
24
  /* replacement start */
25
25
 
26
- const process = require('process/')
26
+ const process = require('../shims/process')
27
27
 
28
28
  /* replacement end */
29
29
 
@@ -27,7 +27,7 @@
27
27
 
28
28
  /* replacement start */
29
29
 
30
- const process = require('process/')
30
+ const process = require('../shims/process')
31
31
 
32
32
  /* replacement end */
33
33
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "readable-stream",
3
- "version": "4.7.0",
3
+ "version": "4.8.0",
4
4
  "description": "Node.js Streams, a user-land copy of the stream library from Node.js",
5
5
  "homepage": "https://github.com/nodejs/readable-stream",
6
6
  "license": "MIT",
@@ -17,7 +17,7 @@
17
17
  ],
18
18
  "repository": {
19
19
  "type": "git",
20
- "url": "git://github.com/nodejs/readable-stream"
20
+ "url": "https://github.com/nodejs/readable-stream"
21
21
  },
22
22
  "bugs": {
23
23
  "url": "https://github.com/nodejs/readable-stream/issues"
@@ -61,6 +61,7 @@
61
61
  "@rollup/plugin-inject": "^4.0.4",
62
62
  "@rollup/plugin-node-resolve": "^13.3.0",
63
63
  "@sinonjs/fake-timers": "^9.1.2",
64
+ "ajv": "^8.20.0",
64
65
  "browserify": "^17.0.0",
65
66
  "c8": "^7.11.2",
66
67
  "esbuild": "^0.19.9",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tar-stream",
3
- "version": "3.2.1",
3
+ "version": "3.2.2",
4
4
  "description": "tar-stream is a streaming tar parser and generator and nothing else. It operates purely using streams which means you can easily extract/parse tarballs without ever hitting the file system.",
5
5
  "main": "index.js",
6
6
  "exports": {
@@ -24,7 +24,7 @@
24
24
  }
25
25
  },
26
26
  "scripts": {
27
- "test": "standard && brittle test/*.js"
27
+ "test": "standard && brittle-node test/*.js"
28
28
  },
29
29
  "repository": {
30
30
  "type": "git",
@@ -37,13 +37,13 @@
37
37
  },
38
38
  "homepage": "https://github.com/mafintosh/tar-stream",
39
39
  "dependencies": {
40
- "b4a": "^1.6.4",
41
- "bare-fs": "^4.5.5",
42
- "fast-fifo": "^1.2.0",
43
- "streamx": "^2.15.0"
40
+ "b4a": "^1.9.0",
41
+ "bare-fs": "^4.8.2",
42
+ "fast-fifo": "^1.3.2",
43
+ "streamx": "^2.28.1"
44
44
  },
45
45
  "devDependencies": {
46
- "brittle": "^3.3.2",
46
+ "brittle": "^4.3.0",
47
47
  "concat-stream": "^2.0.0",
48
48
  "standard": "^17.0.1"
49
49
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-mac2-driver",
3
- "version": "4.3.6",
3
+ "version": "4.5.0",
4
4
  "description": "XCTest-based Appium driver for macOS apps automation",
5
5
  "keywords": [
6
6
  "XCTest",
@@ -47,7 +47,8 @@
47
47
  "dependencies": {
48
48
  "@appium/strongbox": "2.0.1",
49
49
  "@colors/colors": "1.6.1",
50
- "appium-xcode": "7.2.2",
50
+ "appium-xcode": "7.2.3",
51
+ "async-lock": "1.4.1",
51
52
  "asyncbox": "6.4.3",
52
53
  "axios": "1.20.0",
53
54
  "portscanner": "2.2.0",
@@ -68,7 +69,8 @@
68
69
  ],
69
70
  "mainClass": "Mac2Driver",
70
71
  "scripts": {
71
- "open-wda": "./scripts/open-wda.mjs"
72
+ "open-wda": "./scripts/open-wda.mjs",
73
+ "setup-accessibility": "./scripts/setup-accessibility.mjs"
72
74
  },
73
75
  "doctor": {
74
76
  "checks": [
@@ -81,6 +83,7 @@
81
83
  "@appium/strongbox",
82
84
  "@colors/colors",
83
85
  "appium-xcode",
86
+ "async-lock",
84
87
  "asyncbox",
85
88
  "axios",
86
89
  "portscanner",