appium-espresso-driver 2.19.0 → 2.20.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 CHANGED
@@ -1,3 +1,17 @@
1
+ ## [2.20.1](https://github.com/appium/appium-espresso-driver/compare/v2.20.0...v2.20.1) (2023-04-10)
2
+
3
+
4
+ ### Miscellaneous Chores
5
+
6
+ * **deps-dev:** bump rimraf from 4.4.1 to 5.0.0 ([#868](https://github.com/appium/appium-espresso-driver/issues/868)) ([67cfe30](https://github.com/appium/appium-espresso-driver/commit/67cfe30e1345cbb6ede1d975213179f074aa8151))
7
+
8
+ ## [2.20.0](https://github.com/appium/appium-espresso-driver/compare/v2.19.0...v2.20.0) (2023-03-29)
9
+
10
+
11
+ ### Features
12
+
13
+ * add ability to customize espresso version ([#866](https://github.com/appium/appium-espresso-driver/issues/866)) ([8b62ecb](https://github.com/appium/appium-espresso-driver/commit/8b62ecbf2be804b3fa4a41ecfa30c3d38e3942f3))
14
+
1
15
  ## [2.19.0](https://github.com/appium/appium-espresso-driver/compare/v2.18.1...v2.19.0) (2023-03-26)
2
16
 
3
17
 
package/README.md CHANGED
@@ -247,6 +247,7 @@ minSdk | Minimum Android SDK version to compile the server for. By default the v
247
247
  targetSdk | Target Android SDK version to compile the server for. By default the version from the app [build.gradle.kts](https://github.com/appium/appium-espresso-driver/blob/master/espresso-server/app/build.gradle.kts) is used | 28
248
248
  kotlin | Kotlin version to compile the server for. By default the version from the [build.gradle.kts](https://github.com/appium/appium-espresso-driver/blob/master/espresso-server/build.gradle.kts) is used | '1.3.72'
249
249
  composeVersion | The version for the Jetpack Compose dependencies to use for Espresso server building. By default the version from the [build.gradle.kts](https://github.com/appium/appium-espresso-driver/blob/master/espresso-server/build.gradle.kts) is used | '1.1.1'
250
+ espressoVersion | The version for the Espresso dependencies to use for Espresso server building. By default the version from the [build.gradle.kts](https://github.com/appium/appium-espresso-driver/blob/master/espresso-server/build.gradle.kts) is used | '3.5.0'
250
251
  sourceCompatibility | The minimum version of JVM the project sources are compatible with. The default value is `VERSION_1_8` | VERSION_12
251
252
  targetCompatibility | The target version of JVM the project sources are compatible with. The default value is `VERSION_1_8` | VERSION_12
252
253
  jvmTarget | Target version of the generated JVM bytecode as a string. The default value is `1_8` | `1_10`
@@ -20,7 +20,7 @@ const GRADLE_URL_TEMPLATE = 'https\\://services.gradle.org/distributions/gradle-
20
20
  exports.GRADLE_URL_TEMPLATE = GRADLE_URL_TEMPLATE;
21
21
  const GRADLE_MAX_ERROR_LOG_LINES = 15;
22
22
  const DEPENDENCY_PROP_NAMES = ['additionalAppDependencies', 'additionalAndroidTestDependencies'];
23
- const VERSION_KEYS = [GRADLE_VERSION_KEY, 'androidGradlePlugin', 'compileSdk', 'buildTools', 'minSdk', 'targetSdk', 'kotlin', 'sourceCompatibility', 'targetCompatibility', 'jvmTarget', 'composeVersion', 'annotationVersion'];
23
+ const VERSION_KEYS = [GRADLE_VERSION_KEY, 'androidGradlePlugin', 'compileSdk', 'buildTools', 'minSdk', 'targetSdk', 'kotlin', 'sourceCompatibility', 'targetCompatibility', 'jvmTarget', 'composeVersion', 'espressoVersion', 'annotationVersion'];
24
24
  exports.VERSION_KEYS = VERSION_KEYS;
25
25
  function buildServerSigningConfig(args) {
26
26
  return {
@@ -159,4 +159,4 @@ class ServerBuilder {
159
159
  exports.ServerBuilder = ServerBuilder;
160
160
  var _default = ServerBuilder;
161
161
  exports.default = _default;
162
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVlbl9wcm9jZXNzIiwicmVxdWlyZSIsIl9zdXBwb3J0IiwiX2xvZGFzaCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcGF0aCIsIl9vcyIsIl91dGlscyIsIkdSQURMRV9WRVJTSU9OX0tFWSIsIkdSQURMRV9VUkxfUFJFRklYIiwiR1JBRExFX1VSTF9URU1QTEFURSIsImV4cG9ydHMiLCJHUkFETEVfTUFYX0VSUk9SX0xPR19MSU5FUyIsIkRFUEVOREVOQ1lfUFJPUF9OQU1FUyIsIlZFUlNJT05fS0VZUyIsImJ1aWxkU2VydmVyU2lnbmluZ0NvbmZpZyIsImFyZ3MiLCJ6aXBBbGlnbiIsImtleXN0b3JlRmlsZSIsImtleXN0b3JlUGFzc3dvcmQiLCJrZXlBbGlhcyIsImtleVBhc3N3b3JkIiwiU2VydmVyQnVpbGRlciIsImNvbnN0cnVjdG9yIiwibG9nIiwic2VydmVyUGF0aCIsInNob3dHcmFkbGVMb2ciLCJidWlsZENvbmZpZ3VyYXRpb24iLCJ2ZXJzaW9uQ29uZmlndXJhdGlvbiIsInRvb2xzVmVyc2lvbnMiLCJzZXJ2ZXJWZXJzaW9ucyIsIl8iLCJyZWR1Y2UiLCJhY2MiLCJ2YWx1ZSIsImtleSIsImluY2x1ZGVzIiwid2FybiIsInRlc3RBcHBQYWNrYWdlIiwic2lnbmluZ0NvbmZpZyIsInByb3BOYW1lIiwiYnVpbGQiLCJzZXRHcmFkbGVXcmFwcGVyVmVyc2lvbiIsImluc2VydEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMiLCJydW5CdWlsZFByb2Nlc3MiLCJnZXRDb21tYW5kIiwiY21kIiwic3lzdGVtIiwiaXNXaW5kb3dzIiwicGF0aCIsInJlc29sdmUiLCJidWlsZFByb3BlcnR5IiwiZmlsdGVyIiwibWFwIiwic2VydmVyVmVyc2lvbiIsImdyYWRsZVByb3BlcnR5IiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsIkJvb2xlYW4iLCJwdXNoIiwia2V5cyIsInVwcGVyRmlyc3QiLCJrIiwidiIsInZlcnNpb24iLCJwcm9wZXJ0aWVzUGF0aCIsIm9yaWdpbmFsUHJvcGVydGllcyIsImZzIiwicmVhZEZpbGUiLCJuZXdQcm9wZXJ0aWVzIiwidXBkYXRlR3JhZGxlRGlzdFVybCIsIndyaXRlRmlsZSIsInByb3BlcnRpZXNDb250ZW50IiwicmVwbGFjZSIsIlJlZ0V4cCIsImVzY2FwZVJlZ0V4cCIsImhhc0FkZGl0aW9uYWxEZXBzIiwiaXNBcnJheSIsIkVycm9yIiwiaXNFbXB0eSIsImxpbmUiLCJ0cmltIiwiZGVwIiwidGVzdCIsImJ1aWxkUGF0aCIsImNvbmZpZ3VyYXRpb24iLCJwcmVmaXgiLCJkZXBzIiwiaW5mbyIsInVwZGF0ZURlcGVuZGVuY3lMaW5lcyIsImRlYnVnIiwiam9pbiIsImdyYWRsZWJ1aWxkIiwiU3ViUHJvY2VzcyIsImN3ZCIsInN0ZGlvIiwid2luZG93c1ZlcmJhdGltQXJndW1lbnRzIiwiYnVpbGRMYXN0TGluZXMiLCJsb2dNc2ciLCJvbiIsInN0YXJ0c1dpdGgiLCJFT0wiLCJsZW5ndGgiLCJzdGFydCIsImVyciIsIm1zZyIsIm1lc3NhZ2UiLCJlcnJvckFuZFRocm93IiwiX2RlZmF1bHQiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3NlcnZlci1idWlsZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YlByb2Nlc3MgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IHsgZnMsIHN5c3RlbSB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEVPTCB9IGZyb20gJ29zJztcbmltcG9ydCB7IHVwZGF0ZURlcGVuZGVuY3lMaW5lcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBHUkFETEVfVkVSU0lPTl9LRVkgPSAnZ3JhZGxlJztcbmNvbnN0IEdSQURMRV9VUkxfUFJFRklYID0gJ2Rpc3RyaWJ1dGlvblVybD0nO1xuY29uc3QgR1JBRExFX1VSTF9URU1QTEFURSA9ICdodHRwc1xcXFw6Ly9zZXJ2aWNlcy5ncmFkbGUub3JnL2Rpc3RyaWJ1dGlvbnMvZ3JhZGxlLVZFUlNJT04tYWxsLnppcCc7XG5jb25zdCBHUkFETEVfTUFYX0VSUk9SX0xPR19MSU5FUyA9IDE1O1xuY29uc3QgREVQRU5ERU5DWV9QUk9QX05BTUVTID0gWydhZGRpdGlvbmFsQXBwRGVwZW5kZW5jaWVzJywgJ2FkZGl0aW9uYWxBbmRyb2lkVGVzdERlcGVuZGVuY2llcyddO1xuXG5jb25zdCBWRVJTSU9OX0tFWVMgPSBbXG4gIEdSQURMRV9WRVJTSU9OX0tFWSxcbiAgJ2FuZHJvaWRHcmFkbGVQbHVnaW4nLFxuICAnY29tcGlsZVNkaycsXG4gICdidWlsZFRvb2xzJyxcbiAgJ21pblNkaycsXG4gICd0YXJnZXRTZGsnLFxuICAna290bGluJyxcbiAgJ3NvdXJjZUNvbXBhdGliaWxpdHknLFxuICAndGFyZ2V0Q29tcGF0aWJpbGl0eScsXG4gICdqdm1UYXJnZXQnLFxuICAnY29tcG9zZVZlcnNpb24nLFxuICAnYW5ub3RhdGlvblZlcnNpb24nXG5dO1xuXG5mdW5jdGlvbiBidWlsZFNlcnZlclNpZ25pbmdDb25maWcgKGFyZ3MpIHtcbiAgcmV0dXJuIHtcbiAgICB6aXBBbGlnbjogdHJ1ZSxcbiAgICBrZXlzdG9yZUZpbGU6IGFyZ3Mua2V5c3RvcmVGaWxlLFxuICAgIGtleXN0b3JlUGFzc3dvcmQ6IGFyZ3Mua2V5c3RvcmVQYXNzd29yZCxcbiAgICBrZXlBbGlhczogYXJncy5rZXlBbGlhcyxcbiAgICBrZXlQYXNzd29yZDogYXJncy5rZXlQYXNzd29yZFxuICB9O1xufVxuXG5jbGFzcyBTZXJ2ZXJCdWlsZGVyIHtcbiAgY29uc3RydWN0b3IgKGxvZywgYXJncyA9IHt9KSB7XG4gICAgdGhpcy5sb2cgPSBsb2c7XG4gICAgdGhpcy5zZXJ2ZXJQYXRoID0gYXJncy5zZXJ2ZXJQYXRoO1xuICAgIHRoaXMuc2hvd0dyYWRsZUxvZyA9IGFyZ3Muc2hvd0dyYWRsZUxvZztcblxuICAgIGNvbnN0IGJ1aWxkQ29uZmlndXJhdGlvbiA9IGFyZ3MuYnVpbGRDb25maWd1cmF0aW9uIHx8IHt9O1xuXG4gICAgY29uc3QgdmVyc2lvbkNvbmZpZ3VyYXRpb24gPSBidWlsZENvbmZpZ3VyYXRpb24udG9vbHNWZXJzaW9ucyB8fCB7fTtcbiAgICB0aGlzLnNlcnZlclZlcnNpb25zID0gXy5yZWR1Y2UodmVyc2lvbkNvbmZpZ3VyYXRpb24sIChhY2MsIHZhbHVlLCBrZXkpID0+IHtcbiAgICAgIGlmIChWRVJTSU9OX0tFWVMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICBhY2Nba2V5XSA9IHZhbHVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLndhcm4oYEdvdCB1bmV4cGVjdGVkICcke2tleX0nIGluIHRvb2xzVmVyc2lvbiBibG9jayBvZiB0aGUgYnVpbGQgY29uZmlndXJhdGlvbmApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG5cbiAgICB0aGlzLnRlc3RBcHBQYWNrYWdlID0gYXJncy50ZXN0QXBwUGFja2FnZTtcbiAgICB0aGlzLnNpZ25pbmdDb25maWcgPSBhcmdzLnNpZ25pbmdDb25maWc7XG5cbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIERFUEVOREVOQ1lfUFJPUF9OQU1FUykge1xuICAgICAgdGhpc1twcm9wTmFtZV0gPSBidWlsZENvbmZpZ3VyYXRpb25bcHJvcE5hbWVdIHx8IFtdO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGJ1aWxkICgpIHtcbiAgICBpZiAodGhpcy5zZXJ2ZXJWZXJzaW9uc1tHUkFETEVfVkVSU0lPTl9LRVldKSB7XG4gICAgICBhd2FpdCB0aGlzLnNldEdyYWRsZVdyYXBwZXJWZXJzaW9uKHRoaXMuc2VydmVyVmVyc2lvbnNbR1JBRExFX1ZFUlNJT05fS0VZXSk7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5pbnNlcnRBZGRpdGlvbmFsRGVwZW5kZW5jaWVzKCk7XG5cbiAgICBhd2FpdCB0aGlzLnJ1bkJ1aWxkUHJvY2VzcygpO1xuICB9XG5cbiAgZ2V0Q29tbWFuZCAoKSB7XG4gICAgY29uc3QgY21kID0gc3lzdGVtLmlzV2luZG93cygpID8gJ2dyYWRsZXcuYmF0JyA6IHBhdGgucmVzb2x2ZSh0aGlzLnNlcnZlclBhdGgsICdncmFkbGV3Jyk7XG4gICAgY29uc3QgYnVpbGRQcm9wZXJ0eSA9IChrZXksIHZhbHVlKSA9PiB2YWx1ZSA/IGAtUCR7a2V5fT0ke3ZhbHVlfWAgOiBudWxsO1xuICAgIGxldCBhcmdzID0gVkVSU0lPTl9LRVlTXG4gICAgICAuZmlsdGVyKChrZXkpID0+IGtleSAhPT0gR1JBRExFX1ZFUlNJT05fS0VZKVxuICAgICAgLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgIGNvbnN0IHNlcnZlclZlcnNpb24gPSB0aGlzLnNlcnZlclZlcnNpb25zW2tleV07XG4gICAgICAgIGNvbnN0IGdyYWRsZVByb3BlcnR5ID0gYGFwcGl1bSR7a2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfSR7a2V5LnNsaWNlKDEpfWA7XG4gICAgICAgIHJldHVybiBidWlsZFByb3BlcnR5KGdyYWRsZVByb3BlcnR5LCBzZXJ2ZXJWZXJzaW9uKTtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgaWYgKHRoaXMuc2lnbmluZ0NvbmZpZykge1xuICAgICAgYXJncy5wdXNoKC4uLihcbiAgICAgICAgXy5rZXlzKHRoaXMuc2lnbmluZ0NvbmZpZylcbiAgICAgICAgLm1hcCgoa2V5KSA9PiBbYGFwcGl1bSR7Xy51cHBlckZpcnN0KGtleSl9YCwgdGhpcy5zaWduaW5nQ29uZmlnW2tleV1dKVxuICAgICAgICAubWFwKChbaywgdl0pID0+IGJ1aWxkUHJvcGVydHkoaywgdikpXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICkpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnRlc3RBcHBQYWNrYWdlKSB7XG4gICAgICBhcmdzLnB1c2goYnVpbGRQcm9wZXJ0eSgnYXBwaXVtVGFyZ2V0UGFja2FnZScsIHRoaXMudGVzdEFwcFBhY2thZ2UpKTtcbiAgICB9XG4gICAgYXJncy5wdXNoKCdhcHA6YXNzZW1ibGVBbmRyb2lkVGVzdCcpO1xuXG4gICAgcmV0dXJuIHtjbWQsIGFyZ3N9O1xuICB9XG5cbiAgYXN5bmMgc2V0R3JhZGxlV3JhcHBlclZlcnNpb24gKHZlcnNpb24pIHtcbiAgICBjb25zdCBwcm9wZXJ0aWVzUGF0aCA9IHBhdGgucmVzb2x2ZSh0aGlzLnNlcnZlclBhdGgsICdncmFkbGUnLCAnd3JhcHBlcicsICdncmFkbGUtd3JhcHBlci5wcm9wZXJ0aWVzJyk7XG4gICAgY29uc3Qgb3JpZ2luYWxQcm9wZXJ0aWVzID0gYXdhaXQgZnMucmVhZEZpbGUocHJvcGVydGllc1BhdGgsICd1dGY4Jyk7XG4gICAgY29uc3QgbmV3UHJvcGVydGllcyA9IHRoaXMudXBkYXRlR3JhZGxlRGlzdFVybChvcmlnaW5hbFByb3BlcnRpZXMsIHZlcnNpb24pO1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZShwcm9wZXJ0aWVzUGF0aCwgbmV3UHJvcGVydGllcywgJ3V0ZjgnKTtcbiAgfVxuXG4gIHVwZGF0ZUdyYWRsZURpc3RVcmwgKHByb3BlcnRpZXNDb250ZW50LCB2ZXJzaW9uKSB7XG4gICAgcmV0dXJuIHByb3BlcnRpZXNDb250ZW50LnJlcGxhY2UoXG4gICAgICBuZXcgUmVnRXhwKGBeKCR7Xy5lc2NhcGVSZWdFeHAoR1JBRExFX1VSTF9QUkVGSVgpfSkuKyRgLCAnZ20nKSxcbiAgICAgIGAkMSR7R1JBRExFX1VSTF9URU1QTEFURS5yZXBsYWNlKCdWRVJTSU9OJywgdmVyc2lvbil9YFxuICAgICk7XG4gIH1cblxuICBhc3luYyBpbnNlcnRBZGRpdGlvbmFsRGVwZW5kZW5jaWVzICgpIHtcbiAgICBsZXQgaGFzQWRkaXRpb25hbERlcHMgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIERFUEVOREVOQ1lfUFJPUF9OQU1FUykge1xuICAgICAgaWYgKCFfLmlzQXJyYXkodGhpc1twcm9wTmFtZV0pKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJyR7cHJvcE5hbWV9JyBtdXN0IGJlIGFuIGFycmF5YCk7XG4gICAgICB9XG4gICAgICBpZiAoXy5pc0VtcHR5KHRoaXNbcHJvcE5hbWVdLmZpbHRlcigobGluZSkgPT4gXy50cmltKGxpbmUpKSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgZGVwIG9mIHRoaXNbcHJvcE5hbWVdKSB7XG4gICAgICAgIGlmICgvW1xccydcXFxcJF0vLnRlc3QoZGVwKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignU2luZ2xlIHF1b3RlcywgZG9sbGFyIGNoYXJhY3RlcnMgYW5kIHdoaXRlc3BhY2UgY2hhcmFjdGVycycgK1xuICAgICAgICAgICAgYCBhcmUgZGlzYWxsb3dlZCBpbiBhZGRpdGlvbmFsIGRlcGVuZGVuY2llczogJHtkZXB9YCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGhhc0FkZGl0aW9uYWxEZXBzID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFoYXNBZGRpdGlvbmFsRGVwcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1aWxkUGF0aCA9IHBhdGgucmVzb2x2ZSh0aGlzLnNlcnZlclBhdGgsICdhcHAnLCAnYnVpbGQuZ3JhZGxlLmt0cycpO1xuICAgIGxldCBjb25maWd1cmF0aW9uID0gYXdhaXQgZnMucmVhZEZpbGUoYnVpbGRQYXRoLCAndXRmOCcpO1xuICAgIGZvciAoY29uc3QgcHJvcE5hbWUgb2YgREVQRU5ERU5DWV9QUk9QX05BTUVTKSB7XG4gICAgICBjb25zdCBwcmVmaXggPSBwcm9wTmFtZSA9PT0gREVQRU5ERU5DWV9QUk9QX05BTUVTWzBdXG4gICAgICAgID8gJ2ltcGxlbWVudGF0aW9uJ1xuICAgICAgICA6ICdhbmRyb2lkVGVzdEltcGxlbWVudGF0aW9uJztcbiAgICAgIGNvbnN0IGRlcHMgPSB0aGlzW3Byb3BOYW1lXVxuICAgICAgICAuZmlsdGVyKChsaW5lKSA9PiBfLnRyaW0obGluZSkpXG4gICAgICAgIC5tYXAoKGxpbmUpID0+IGAke3ByZWZpeH0oXCIke2xpbmV9XCIpYCk7XG4gICAgICBpZiAoXy5pc0VtcHR5KGRlcHMpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxvZy5pbmZvKGBBZGRpbmcgdGhlIGZvbGxvd2luZyAke3Byb3BOYW1lfSB0byBidWlsZC5ncmFkbGUua3RzOiAke2RlcHN9YCk7XG4gICAgICBjb25maWd1cmF0aW9uID0gdXBkYXRlRGVwZW5kZW5jeUxpbmVzKGNvbmZpZ3VyYXRpb24sIHByb3BOYW1lLCBkZXBzKTtcbiAgICB9XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKGJ1aWxkUGF0aCwgY29uZmlndXJhdGlvbiwgJ3V0ZjgnKTtcbiAgfVxuXG4gIGFzeW5jIHJ1bkJ1aWxkUHJvY2VzcyAoKSB7XG4gICAgY29uc3Qge2NtZCwgYXJnc30gPSB0aGlzLmdldENvbW1hbmQoKTtcbiAgICB0aGlzLmxvZy5kZWJ1ZyhgQmVnaW5uaW5nIGJ1aWxkIHdpdGggY29tbWFuZCAnJHtjbWR9ICR7YXJncy5qb2luKCcgJyl9JyBgICtcbiAgICAgIGBpbiBkaXJlY3RvcnkgJyR7dGhpcy5zZXJ2ZXJQYXRofSdgKTtcbiAgICBjb25zdCBncmFkbGVidWlsZCA9IG5ldyBTdWJQcm9jZXNzKGNtZCwgYXJncywge1xuICAgICAgY3dkOiB0aGlzLnNlcnZlclBhdGgsXG4gICAgICBzdGRpbzogWydpZ25vcmUnLCAncGlwZScsICdwaXBlJ10sXG4gICAgICB3aW5kb3dzVmVyYmF0aW1Bcmd1bWVudHM6IHRydWVcbiAgICB9KTtcbiAgICBsZXQgYnVpbGRMYXN0TGluZXMgPSBbXTtcblxuICAgIGNvbnN0IGxvZ01zZyA9IGBPdXRwdXQgZnJvbSBHcmFkbGUgJHt0aGlzLnNob3dHcmFkbGVMb2cgPyAnd2lsbCcgOiAnd2lsbCBub3QnfSBiZSBsb2dnZWRgO1xuICAgIHRoaXMubG9nLmRlYnVnKGAke2xvZ01zZ30uIFRvIGNoYW5nZSB0aGlzLCB1c2UgJ3Nob3dHcmFkbGVMb2cnIGRlc2lyZWQgY2FwYWJpbGl0eWApO1xuICAgIGdyYWRsZWJ1aWxkLm9uKCdzdHJlYW0tbGluZScsIChsaW5lKSA9PiB7XG4gICAgICBpZiAodGhpcy5zaG93R3JhZGxlTG9nKSB7XG4gICAgICAgIGlmIChsaW5lLnN0YXJ0c1dpdGgoJ1tTVERFUlJdJykpIHtcbiAgICAgICAgICB0aGlzLmxvZy53YXJuKGBbR3JhZGxlXSAke2xpbmV9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5sb2cuaW5mbyhgW0dyYWRsZV0gJHtsaW5lfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBidWlsZExhc3RMaW5lcy5wdXNoKGAke0VPTH0ke2xpbmV9YCk7XG4gICAgICBpZiAoYnVpbGRMYXN0TGluZXMubGVuZ3RoID4gR1JBRExFX01BWF9FUlJPUl9MT0dfTElORVMpIHtcbiAgICAgICAgYnVpbGRMYXN0TGluZXMgPSBidWlsZExhc3RMaW5lcy5zbGljZSgtR1JBRExFX01BWF9FUlJPUl9MT0dfTElORVMpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGdyYWRsZWJ1aWxkLnN0YXJ0KCk7XG4gICAgICBhd2FpdCBncmFkbGVidWlsZC5qb2luKCk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsZXQgbXNnID0gYFVuYWJsZSB0byBidWlsZCBFc3ByZXNzbyBzZXJ2ZXIgLSAke2Vyci5tZXNzYWdlfVxcbmAgK1xuICAgICAgICBgR3JhZGxlIGVycm9yIG1lc3NhZ2U6JHtFT0x9JHtidWlsZExhc3RMaW5lc31gO1xuICAgICAgdGhpcy5sb2cuZXJyb3JBbmRUaHJvdyhtc2cpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgeyBTZXJ2ZXJCdWlsZGVyLCBWRVJTSU9OX0tFWVMsIEdSQURMRV9VUkxfVEVNUExBVEUsIGJ1aWxkU2VydmVyU2lnbmluZ0NvbmZpZyB9O1xuZXhwb3J0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
162
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfdGVlbl9wcm9jZXNzIiwicmVxdWlyZSIsIl9zdXBwb3J0IiwiX2xvZGFzaCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcGF0aCIsIl9vcyIsIl91dGlscyIsIkdSQURMRV9WRVJTSU9OX0tFWSIsIkdSQURMRV9VUkxfUFJFRklYIiwiR1JBRExFX1VSTF9URU1QTEFURSIsImV4cG9ydHMiLCJHUkFETEVfTUFYX0VSUk9SX0xPR19MSU5FUyIsIkRFUEVOREVOQ1lfUFJPUF9OQU1FUyIsIlZFUlNJT05fS0VZUyIsImJ1aWxkU2VydmVyU2lnbmluZ0NvbmZpZyIsImFyZ3MiLCJ6aXBBbGlnbiIsImtleXN0b3JlRmlsZSIsImtleXN0b3JlUGFzc3dvcmQiLCJrZXlBbGlhcyIsImtleVBhc3N3b3JkIiwiU2VydmVyQnVpbGRlciIsImNvbnN0cnVjdG9yIiwibG9nIiwic2VydmVyUGF0aCIsInNob3dHcmFkbGVMb2ciLCJidWlsZENvbmZpZ3VyYXRpb24iLCJ2ZXJzaW9uQ29uZmlndXJhdGlvbiIsInRvb2xzVmVyc2lvbnMiLCJzZXJ2ZXJWZXJzaW9ucyIsIl8iLCJyZWR1Y2UiLCJhY2MiLCJ2YWx1ZSIsImtleSIsImluY2x1ZGVzIiwid2FybiIsInRlc3RBcHBQYWNrYWdlIiwic2lnbmluZ0NvbmZpZyIsInByb3BOYW1lIiwiYnVpbGQiLCJzZXRHcmFkbGVXcmFwcGVyVmVyc2lvbiIsImluc2VydEFkZGl0aW9uYWxEZXBlbmRlbmNpZXMiLCJydW5CdWlsZFByb2Nlc3MiLCJnZXRDb21tYW5kIiwiY21kIiwic3lzdGVtIiwiaXNXaW5kb3dzIiwicGF0aCIsInJlc29sdmUiLCJidWlsZFByb3BlcnR5IiwiZmlsdGVyIiwibWFwIiwic2VydmVyVmVyc2lvbiIsImdyYWRsZVByb3BlcnR5IiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsIkJvb2xlYW4iLCJwdXNoIiwia2V5cyIsInVwcGVyRmlyc3QiLCJrIiwidiIsInZlcnNpb24iLCJwcm9wZXJ0aWVzUGF0aCIsIm9yaWdpbmFsUHJvcGVydGllcyIsImZzIiwicmVhZEZpbGUiLCJuZXdQcm9wZXJ0aWVzIiwidXBkYXRlR3JhZGxlRGlzdFVybCIsIndyaXRlRmlsZSIsInByb3BlcnRpZXNDb250ZW50IiwicmVwbGFjZSIsIlJlZ0V4cCIsImVzY2FwZVJlZ0V4cCIsImhhc0FkZGl0aW9uYWxEZXBzIiwiaXNBcnJheSIsIkVycm9yIiwiaXNFbXB0eSIsImxpbmUiLCJ0cmltIiwiZGVwIiwidGVzdCIsImJ1aWxkUGF0aCIsImNvbmZpZ3VyYXRpb24iLCJwcmVmaXgiLCJkZXBzIiwiaW5mbyIsInVwZGF0ZURlcGVuZGVuY3lMaW5lcyIsImRlYnVnIiwiam9pbiIsImdyYWRsZWJ1aWxkIiwiU3ViUHJvY2VzcyIsImN3ZCIsInN0ZGlvIiwid2luZG93c1ZlcmJhdGltQXJndW1lbnRzIiwiYnVpbGRMYXN0TGluZXMiLCJsb2dNc2ciLCJvbiIsInN0YXJ0c1dpdGgiLCJFT0wiLCJsZW5ndGgiLCJzdGFydCIsImVyciIsIm1zZyIsIm1lc3NhZ2UiLCJlcnJvckFuZFRocm93IiwiX2RlZmF1bHQiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vbGliL3NlcnZlci1idWlsZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YlByb2Nlc3MgfSBmcm9tICd0ZWVuX3Byb2Nlc3MnO1xuaW1wb3J0IHsgZnMsIHN5c3RlbSB9IGZyb20gJ2FwcGl1bS9zdXBwb3J0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IEVPTCB9IGZyb20gJ29zJztcbmltcG9ydCB7IHVwZGF0ZURlcGVuZGVuY3lMaW5lcyB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBHUkFETEVfVkVSU0lPTl9LRVkgPSAnZ3JhZGxlJztcbmNvbnN0IEdSQURMRV9VUkxfUFJFRklYID0gJ2Rpc3RyaWJ1dGlvblVybD0nO1xuY29uc3QgR1JBRExFX1VSTF9URU1QTEFURSA9ICdodHRwc1xcXFw6Ly9zZXJ2aWNlcy5ncmFkbGUub3JnL2Rpc3RyaWJ1dGlvbnMvZ3JhZGxlLVZFUlNJT04tYWxsLnppcCc7XG5jb25zdCBHUkFETEVfTUFYX0VSUk9SX0xPR19MSU5FUyA9IDE1O1xuY29uc3QgREVQRU5ERU5DWV9QUk9QX05BTUVTID0gWydhZGRpdGlvbmFsQXBwRGVwZW5kZW5jaWVzJywgJ2FkZGl0aW9uYWxBbmRyb2lkVGVzdERlcGVuZGVuY2llcyddO1xuXG5jb25zdCBWRVJTSU9OX0tFWVMgPSBbXG4gIEdSQURMRV9WRVJTSU9OX0tFWSxcbiAgJ2FuZHJvaWRHcmFkbGVQbHVnaW4nLFxuICAnY29tcGlsZVNkaycsXG4gICdidWlsZFRvb2xzJyxcbiAgJ21pblNkaycsXG4gICd0YXJnZXRTZGsnLFxuICAna290bGluJyxcbiAgJ3NvdXJjZUNvbXBhdGliaWxpdHknLFxuICAndGFyZ2V0Q29tcGF0aWJpbGl0eScsXG4gICdqdm1UYXJnZXQnLFxuICAnY29tcG9zZVZlcnNpb24nLFxuICAnZXNwcmVzc29WZXJzaW9uJyxcbiAgJ2Fubm90YXRpb25WZXJzaW9uJ1xuXTtcblxuZnVuY3Rpb24gYnVpbGRTZXJ2ZXJTaWduaW5nQ29uZmlnIChhcmdzKSB7XG4gIHJldHVybiB7XG4gICAgemlwQWxpZ246IHRydWUsXG4gICAga2V5c3RvcmVGaWxlOiBhcmdzLmtleXN0b3JlRmlsZSxcbiAgICBrZXlzdG9yZVBhc3N3b3JkOiBhcmdzLmtleXN0b3JlUGFzc3dvcmQsXG4gICAga2V5QWxpYXM6IGFyZ3Mua2V5QWxpYXMsXG4gICAga2V5UGFzc3dvcmQ6IGFyZ3Mua2V5UGFzc3dvcmRcbiAgfTtcbn1cblxuY2xhc3MgU2VydmVyQnVpbGRlciB7XG4gIGNvbnN0cnVjdG9yIChsb2csIGFyZ3MgPSB7fSkge1xuICAgIHRoaXMubG9nID0gbG9nO1xuICAgIHRoaXMuc2VydmVyUGF0aCA9IGFyZ3Muc2VydmVyUGF0aDtcbiAgICB0aGlzLnNob3dHcmFkbGVMb2cgPSBhcmdzLnNob3dHcmFkbGVMb2c7XG5cbiAgICBjb25zdCBidWlsZENvbmZpZ3VyYXRpb24gPSBhcmdzLmJ1aWxkQ29uZmlndXJhdGlvbiB8fCB7fTtcblxuICAgIGNvbnN0IHZlcnNpb25Db25maWd1cmF0aW9uID0gYnVpbGRDb25maWd1cmF0aW9uLnRvb2xzVmVyc2lvbnMgfHwge307XG4gICAgdGhpcy5zZXJ2ZXJWZXJzaW9ucyA9IF8ucmVkdWNlKHZlcnNpb25Db25maWd1cmF0aW9uLCAoYWNjLCB2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBpZiAoVkVSU0lPTl9LRVlTLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgICAgYWNjW2tleV0gPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZy53YXJuKGBHb3QgdW5leHBlY3RlZCAnJHtrZXl9JyBpbiB0b29sc1ZlcnNpb24gYmxvY2sgb2YgdGhlIGJ1aWxkIGNvbmZpZ3VyYXRpb25gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuXG4gICAgdGhpcy50ZXN0QXBwUGFja2FnZSA9IGFyZ3MudGVzdEFwcFBhY2thZ2U7XG4gICAgdGhpcy5zaWduaW5nQ29uZmlnID0gYXJncy5zaWduaW5nQ29uZmlnO1xuXG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBvZiBERVBFTkRFTkNZX1BST1BfTkFNRVMpIHtcbiAgICAgIHRoaXNbcHJvcE5hbWVdID0gYnVpbGRDb25maWd1cmF0aW9uW3Byb3BOYW1lXSB8fCBbXTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBidWlsZCAoKSB7XG4gICAgaWYgKHRoaXMuc2VydmVyVmVyc2lvbnNbR1JBRExFX1ZFUlNJT05fS0VZXSkge1xuICAgICAgYXdhaXQgdGhpcy5zZXRHcmFkbGVXcmFwcGVyVmVyc2lvbih0aGlzLnNlcnZlclZlcnNpb25zW0dSQURMRV9WRVJTSU9OX0tFWV0pO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuaW5zZXJ0QWRkaXRpb25hbERlcGVuZGVuY2llcygpO1xuXG4gICAgYXdhaXQgdGhpcy5ydW5CdWlsZFByb2Nlc3MoKTtcbiAgfVxuXG4gIGdldENvbW1hbmQgKCkge1xuICAgIGNvbnN0IGNtZCA9IHN5c3RlbS5pc1dpbmRvd3MoKSA/ICdncmFkbGV3LmJhdCcgOiBwYXRoLnJlc29sdmUodGhpcy5zZXJ2ZXJQYXRoLCAnZ3JhZGxldycpO1xuICAgIGNvbnN0IGJ1aWxkUHJvcGVydHkgPSAoa2V5LCB2YWx1ZSkgPT4gdmFsdWUgPyBgLVAke2tleX09JHt2YWx1ZX1gIDogbnVsbDtcbiAgICBsZXQgYXJncyA9IFZFUlNJT05fS0VZU1xuICAgICAgLmZpbHRlcigoa2V5KSA9PiBrZXkgIT09IEdSQURMRV9WRVJTSU9OX0tFWSlcbiAgICAgIC5tYXAoKGtleSkgPT4ge1xuICAgICAgICBjb25zdCBzZXJ2ZXJWZXJzaW9uID0gdGhpcy5zZXJ2ZXJWZXJzaW9uc1trZXldO1xuICAgICAgICBjb25zdCBncmFkbGVQcm9wZXJ0eSA9IGBhcHBpdW0ke2tleS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke2tleS5zbGljZSgxKX1gO1xuICAgICAgICByZXR1cm4gYnVpbGRQcm9wZXJ0eShncmFkbGVQcm9wZXJ0eSwgc2VydmVyVmVyc2lvbik7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGlmICh0aGlzLnNpZ25pbmdDb25maWcpIHtcbiAgICAgIGFyZ3MucHVzaCguLi4oXG4gICAgICAgIF8ua2V5cyh0aGlzLnNpZ25pbmdDb25maWcpXG4gICAgICAgIC5tYXAoKGtleSkgPT4gW2BhcHBpdW0ke18udXBwZXJGaXJzdChrZXkpfWAsIHRoaXMuc2lnbmluZ0NvbmZpZ1trZXldXSlcbiAgICAgICAgLm1hcCgoW2ssIHZdKSA9PiBidWlsZFByb3BlcnR5KGssIHYpKVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICApKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50ZXN0QXBwUGFja2FnZSkge1xuICAgICAgYXJncy5wdXNoKGJ1aWxkUHJvcGVydHkoJ2FwcGl1bVRhcmdldFBhY2thZ2UnLCB0aGlzLnRlc3RBcHBQYWNrYWdlKSk7XG4gICAgfVxuICAgIGFyZ3MucHVzaCgnYXBwOmFzc2VtYmxlQW5kcm9pZFRlc3QnKTtcblxuICAgIHJldHVybiB7Y21kLCBhcmdzfTtcbiAgfVxuXG4gIGFzeW5jIHNldEdyYWRsZVdyYXBwZXJWZXJzaW9uICh2ZXJzaW9uKSB7XG4gICAgY29uc3QgcHJvcGVydGllc1BhdGggPSBwYXRoLnJlc29sdmUodGhpcy5zZXJ2ZXJQYXRoLCAnZ3JhZGxlJywgJ3dyYXBwZXInLCAnZ3JhZGxlLXdyYXBwZXIucHJvcGVydGllcycpO1xuICAgIGNvbnN0IG9yaWdpbmFsUHJvcGVydGllcyA9IGF3YWl0IGZzLnJlYWRGaWxlKHByb3BlcnRpZXNQYXRoLCAndXRmOCcpO1xuICAgIGNvbnN0IG5ld1Byb3BlcnRpZXMgPSB0aGlzLnVwZGF0ZUdyYWRsZURpc3RVcmwob3JpZ2luYWxQcm9wZXJ0aWVzLCB2ZXJzaW9uKTtcbiAgICBhd2FpdCBmcy53cml0ZUZpbGUocHJvcGVydGllc1BhdGgsIG5ld1Byb3BlcnRpZXMsICd1dGY4Jyk7XG4gIH1cblxuICB1cGRhdGVHcmFkbGVEaXN0VXJsIChwcm9wZXJ0aWVzQ29udGVudCwgdmVyc2lvbikge1xuICAgIHJldHVybiBwcm9wZXJ0aWVzQ29udGVudC5yZXBsYWNlKFxuICAgICAgbmV3IFJlZ0V4cChgXigke18uZXNjYXBlUmVnRXhwKEdSQURMRV9VUkxfUFJFRklYKX0pLiskYCwgJ2dtJyksXG4gICAgICBgJDEke0dSQURMRV9VUkxfVEVNUExBVEUucmVwbGFjZSgnVkVSU0lPTicsIHZlcnNpb24pfWBcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgaW5zZXJ0QWRkaXRpb25hbERlcGVuZGVuY2llcyAoKSB7XG4gICAgbGV0IGhhc0FkZGl0aW9uYWxEZXBzID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBwcm9wTmFtZSBvZiBERVBFTkRFTkNZX1BST1BfTkFNRVMpIHtcbiAgICAgIGlmICghXy5pc0FycmF5KHRoaXNbcHJvcE5hbWVdKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCcke3Byb3BOYW1lfScgbXVzdCBiZSBhbiBhcnJheWApO1xuICAgICAgfVxuICAgICAgaWYgKF8uaXNFbXB0eSh0aGlzW3Byb3BOYW1lXS5maWx0ZXIoKGxpbmUpID0+IF8udHJpbShsaW5lKSkpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGRlcCBvZiB0aGlzW3Byb3BOYW1lXSkge1xuICAgICAgICBpZiAoL1tcXHMnXFxcXCRdLy50ZXN0KGRlcCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NpbmdsZSBxdW90ZXMsIGRvbGxhciBjaGFyYWN0ZXJzIGFuZCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMnICtcbiAgICAgICAgICAgIGAgYXJlIGRpc2FsbG93ZWQgaW4gYWRkaXRpb25hbCBkZXBlbmRlbmNpZXM6ICR7ZGVwfWApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoYXNBZGRpdGlvbmFsRGVwcyA9IHRydWU7XG4gICAgfVxuICAgIGlmICghaGFzQWRkaXRpb25hbERlcHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBidWlsZFBhdGggPSBwYXRoLnJlc29sdmUodGhpcy5zZXJ2ZXJQYXRoLCAnYXBwJywgJ2J1aWxkLmdyYWRsZS5rdHMnKTtcbiAgICBsZXQgY29uZmlndXJhdGlvbiA9IGF3YWl0IGZzLnJlYWRGaWxlKGJ1aWxkUGF0aCwgJ3V0ZjgnKTtcbiAgICBmb3IgKGNvbnN0IHByb3BOYW1lIG9mIERFUEVOREVOQ1lfUFJPUF9OQU1FUykge1xuICAgICAgY29uc3QgcHJlZml4ID0gcHJvcE5hbWUgPT09IERFUEVOREVOQ1lfUFJPUF9OQU1FU1swXVxuICAgICAgICA/ICdpbXBsZW1lbnRhdGlvbidcbiAgICAgICAgOiAnYW5kcm9pZFRlc3RJbXBsZW1lbnRhdGlvbic7XG4gICAgICBjb25zdCBkZXBzID0gdGhpc1twcm9wTmFtZV1cbiAgICAgICAgLmZpbHRlcigobGluZSkgPT4gXy50cmltKGxpbmUpKVxuICAgICAgICAubWFwKChsaW5lKSA9PiBgJHtwcmVmaXh9KFwiJHtsaW5lfVwiKWApO1xuICAgICAgaWYgKF8uaXNFbXB0eShkZXBzKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2cuaW5mbyhgQWRkaW5nIHRoZSBmb2xsb3dpbmcgJHtwcm9wTmFtZX0gdG8gYnVpbGQuZ3JhZGxlLmt0czogJHtkZXBzfWApO1xuICAgICAgY29uZmlndXJhdGlvbiA9IHVwZGF0ZURlcGVuZGVuY3lMaW5lcyhjb25maWd1cmF0aW9uLCBwcm9wTmFtZSwgZGVwcyk7XG4gICAgfVxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShidWlsZFBhdGgsIGNvbmZpZ3VyYXRpb24sICd1dGY4Jyk7XG4gIH1cblxuICBhc3luYyBydW5CdWlsZFByb2Nlc3MgKCkge1xuICAgIGNvbnN0IHtjbWQsIGFyZ3N9ID0gdGhpcy5nZXRDb21tYW5kKCk7XG4gICAgdGhpcy5sb2cuZGVidWcoYEJlZ2lubmluZyBidWlsZCB3aXRoIGNvbW1hbmQgJyR7Y21kfSAke2FyZ3Muam9pbignICcpfScgYCArXG4gICAgICBgaW4gZGlyZWN0b3J5ICcke3RoaXMuc2VydmVyUGF0aH0nYCk7XG4gICAgY29uc3QgZ3JhZGxlYnVpbGQgPSBuZXcgU3ViUHJvY2VzcyhjbWQsIGFyZ3MsIHtcbiAgICAgIGN3ZDogdGhpcy5zZXJ2ZXJQYXRoLFxuICAgICAgc3RkaW86IFsnaWdub3JlJywgJ3BpcGUnLCAncGlwZSddLFxuICAgICAgd2luZG93c1ZlcmJhdGltQXJndW1lbnRzOiB0cnVlXG4gICAgfSk7XG4gICAgbGV0IGJ1aWxkTGFzdExpbmVzID0gW107XG5cbiAgICBjb25zdCBsb2dNc2cgPSBgT3V0cHV0IGZyb20gR3JhZGxlICR7dGhpcy5zaG93R3JhZGxlTG9nID8gJ3dpbGwnIDogJ3dpbGwgbm90J30gYmUgbG9nZ2VkYDtcbiAgICB0aGlzLmxvZy5kZWJ1ZyhgJHtsb2dNc2d9LiBUbyBjaGFuZ2UgdGhpcywgdXNlICdzaG93R3JhZGxlTG9nJyBkZXNpcmVkIGNhcGFiaWxpdHlgKTtcbiAgICBncmFkbGVidWlsZC5vbignc3RyZWFtLWxpbmUnLCAobGluZSkgPT4ge1xuICAgICAgaWYgKHRoaXMuc2hvd0dyYWRsZUxvZykge1xuICAgICAgICBpZiAobGluZS5zdGFydHNXaXRoKCdbU1RERVJSXScpKSB7XG4gICAgICAgICAgdGhpcy5sb2cud2FybihgW0dyYWRsZV0gJHtsaW5lfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nLmluZm8oYFtHcmFkbGVdICR7bGluZX1gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYnVpbGRMYXN0TGluZXMucHVzaChgJHtFT0x9JHtsaW5lfWApO1xuICAgICAgaWYgKGJ1aWxkTGFzdExpbmVzLmxlbmd0aCA+IEdSQURMRV9NQVhfRVJST1JfTE9HX0xJTkVTKSB7XG4gICAgICAgIGJ1aWxkTGFzdExpbmVzID0gYnVpbGRMYXN0TGluZXMuc2xpY2UoLUdSQURMRV9NQVhfRVJST1JfTE9HX0xJTkVTKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBncmFkbGVidWlsZC5zdGFydCgpO1xuICAgICAgYXdhaXQgZ3JhZGxlYnVpbGQuam9pbigpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgbGV0IG1zZyA9IGBVbmFibGUgdG8gYnVpbGQgRXNwcmVzc28gc2VydmVyIC0gJHtlcnIubWVzc2FnZX1cXG5gICtcbiAgICAgICAgYEdyYWRsZSBlcnJvciBtZXNzYWdlOiR7RU9MfSR7YnVpbGRMYXN0TGluZXN9YDtcbiAgICAgIHRoaXMubG9nLmVycm9yQW5kVGhyb3cobXNnKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHsgU2VydmVyQnVpbGRlciwgVkVSU0lPTl9LRVlTLCBHUkFETEVfVVJMX1RFTVBMQVRFLCBidWlsZFNlcnZlclNp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
@@ -1 +1 @@
1
- {"version":3,"file":"server-builder.js","names":["_teen_process","require","_support","_lodash","_interopRequireDefault","_path","_os","_utils","GRADLE_VERSION_KEY","GRADLE_URL_PREFIX","GRADLE_URL_TEMPLATE","exports","GRADLE_MAX_ERROR_LOG_LINES","DEPENDENCY_PROP_NAMES","VERSION_KEYS","buildServerSigningConfig","args","zipAlign","keystoreFile","keystorePassword","keyAlias","keyPassword","ServerBuilder","constructor","log","serverPath","showGradleLog","buildConfiguration","versionConfiguration","toolsVersions","serverVersions","_","reduce","acc","value","key","includes","warn","testAppPackage","signingConfig","propName","build","setGradleWrapperVersion","insertAdditionalDependencies","runBuildProcess","getCommand","cmd","system","isWindows","path","resolve","buildProperty","filter","map","serverVersion","gradleProperty","charAt","toUpperCase","slice","Boolean","push","keys","upperFirst","k","v","version","propertiesPath","originalProperties","fs","readFile","newProperties","updateGradleDistUrl","writeFile","propertiesContent","replace","RegExp","escapeRegExp","hasAdditionalDeps","isArray","Error","isEmpty","line","trim","dep","test","buildPath","configuration","prefix","deps","info","updateDependencyLines","debug","join","gradlebuild","SubProcess","cwd","stdio","windowsVerbatimArguments","buildLastLines","logMsg","on","startsWith","EOL","length","start","err","msg","message","errorAndThrow","_default","default"],"sources":["../../lib/server-builder.js"],"sourcesContent":["import { SubProcess } from 'teen_process';\nimport { fs, system } from 'appium/support';\nimport _ from 'lodash';\nimport path from 'path';\nimport { EOL } from 'os';\nimport { updateDependencyLines } from './utils';\n\nconst GRADLE_VERSION_KEY = 'gradle';\nconst GRADLE_URL_PREFIX = 'distributionUrl=';\nconst GRADLE_URL_TEMPLATE = 'https\\\\://services.gradle.org/distributions/gradle-VERSION-all.zip';\nconst GRADLE_MAX_ERROR_LOG_LINES = 15;\nconst DEPENDENCY_PROP_NAMES = ['additionalAppDependencies', 'additionalAndroidTestDependencies'];\n\nconst VERSION_KEYS = [\n GRADLE_VERSION_KEY,\n 'androidGradlePlugin',\n 'compileSdk',\n 'buildTools',\n 'minSdk',\n 'targetSdk',\n 'kotlin',\n 'sourceCompatibility',\n 'targetCompatibility',\n 'jvmTarget',\n 'composeVersion',\n 'annotationVersion'\n];\n\nfunction buildServerSigningConfig (args) {\n return {\n zipAlign: true,\n keystoreFile: args.keystoreFile,\n keystorePassword: args.keystorePassword,\n keyAlias: args.keyAlias,\n keyPassword: args.keyPassword\n };\n}\n\nclass ServerBuilder {\n constructor (log, args = {}) {\n this.log = log;\n this.serverPath = args.serverPath;\n this.showGradleLog = args.showGradleLog;\n\n const buildConfiguration = args.buildConfiguration || {};\n\n const versionConfiguration = buildConfiguration.toolsVersions || {};\n this.serverVersions = _.reduce(versionConfiguration, (acc, value, key) => {\n if (VERSION_KEYS.includes(key)) {\n acc[key] = value;\n } else {\n log.warn(`Got unexpected '${key}' in toolsVersion block of the build configuration`);\n }\n return acc;\n }, {});\n\n this.testAppPackage = args.testAppPackage;\n this.signingConfig = args.signingConfig;\n\n for (const propName of DEPENDENCY_PROP_NAMES) {\n this[propName] = buildConfiguration[propName] || [];\n }\n }\n\n async build () {\n if (this.serverVersions[GRADLE_VERSION_KEY]) {\n await this.setGradleWrapperVersion(this.serverVersions[GRADLE_VERSION_KEY]);\n }\n\n await this.insertAdditionalDependencies();\n\n await this.runBuildProcess();\n }\n\n getCommand () {\n const cmd = system.isWindows() ? 'gradlew.bat' : path.resolve(this.serverPath, 'gradlew');\n const buildProperty = (key, value) => value ? `-P${key}=${value}` : null;\n let args = VERSION_KEYS\n .filter((key) => key !== GRADLE_VERSION_KEY)\n .map((key) => {\n const serverVersion = this.serverVersions[key];\n const gradleProperty = `appium${key.charAt(0).toUpperCase()}${key.slice(1)}`;\n return buildProperty(gradleProperty, serverVersion);\n })\n .filter(Boolean);\n\n if (this.signingConfig) {\n args.push(...(\n _.keys(this.signingConfig)\n .map((key) => [`appium${_.upperFirst(key)}`, this.signingConfig[key]])\n .map(([k, v]) => buildProperty(k, v))\n .filter(Boolean)\n ));\n }\n\n if (this.testAppPackage) {\n args.push(buildProperty('appiumTargetPackage', this.testAppPackage));\n }\n args.push('app:assembleAndroidTest');\n\n return {cmd, args};\n }\n\n async setGradleWrapperVersion (version) {\n const propertiesPath = path.resolve(this.serverPath, 'gradle', 'wrapper', 'gradle-wrapper.properties');\n const originalProperties = await fs.readFile(propertiesPath, 'utf8');\n const newProperties = this.updateGradleDistUrl(originalProperties, version);\n await fs.writeFile(propertiesPath, newProperties, 'utf8');\n }\n\n updateGradleDistUrl (propertiesContent, version) {\n return propertiesContent.replace(\n new RegExp(`^(${_.escapeRegExp(GRADLE_URL_PREFIX)}).+$`, 'gm'),\n `$1${GRADLE_URL_TEMPLATE.replace('VERSION', version)}`\n );\n }\n\n async insertAdditionalDependencies () {\n let hasAdditionalDeps = false;\n for (const propName of DEPENDENCY_PROP_NAMES) {\n if (!_.isArray(this[propName])) {\n throw new Error(`'${propName}' must be an array`);\n }\n if (_.isEmpty(this[propName].filter((line) => _.trim(line)))) {\n continue;\n }\n\n for (const dep of this[propName]) {\n if (/[\\s'\\\\$]/.test(dep)) {\n throw new Error('Single quotes, dollar characters and whitespace characters' +\n ` are disallowed in additional dependencies: ${dep}`);\n }\n }\n hasAdditionalDeps = true;\n }\n if (!hasAdditionalDeps) {\n return;\n }\n\n const buildPath = path.resolve(this.serverPath, 'app', 'build.gradle.kts');\n let configuration = await fs.readFile(buildPath, 'utf8');\n for (const propName of DEPENDENCY_PROP_NAMES) {\n const prefix = propName === DEPENDENCY_PROP_NAMES[0]\n ? 'implementation'\n : 'androidTestImplementation';\n const deps = this[propName]\n .filter((line) => _.trim(line))\n .map((line) => `${prefix}(\"${line}\")`);\n if (_.isEmpty(deps)) {\n continue;\n }\n\n this.log.info(`Adding the following ${propName} to build.gradle.kts: ${deps}`);\n configuration = updateDependencyLines(configuration, propName, deps);\n }\n await fs.writeFile(buildPath, configuration, 'utf8');\n }\n\n async runBuildProcess () {\n const {cmd, args} = this.getCommand();\n this.log.debug(`Beginning build with command '${cmd} ${args.join(' ')}' ` +\n `in directory '${this.serverPath}'`);\n const gradlebuild = new SubProcess(cmd, args, {\n cwd: this.serverPath,\n stdio: ['ignore', 'pipe', 'pipe'],\n windowsVerbatimArguments: true\n });\n let buildLastLines = [];\n\n const logMsg = `Output from Gradle ${this.showGradleLog ? 'will' : 'will not'} be logged`;\n this.log.debug(`${logMsg}. To change this, use 'showGradleLog' desired capability`);\n gradlebuild.on('stream-line', (line) => {\n if (this.showGradleLog) {\n if (line.startsWith('[STDERR]')) {\n this.log.warn(`[Gradle] ${line}`);\n } else {\n this.log.info(`[Gradle] ${line}`);\n }\n }\n buildLastLines.push(`${EOL}${line}`);\n if (buildLastLines.length > GRADLE_MAX_ERROR_LOG_LINES) {\n buildLastLines = buildLastLines.slice(-GRADLE_MAX_ERROR_LOG_LINES);\n }\n });\n\n try {\n await gradlebuild.start();\n await gradlebuild.join();\n } catch (err) {\n let msg = `Unable to build Espresso server - ${err.message}\\n` +\n `Gradle error message:${EOL}${buildLastLines}`;\n this.log.errorAndThrow(msg);\n }\n }\n}\n\nexport { ServerBuilder, VERSION_KEYS, GRADLE_URL_TEMPLATE, buildServerSigningConfig };\nexport default ServerBuilder;\n"],"mappings":"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"}
1
+ {"version":3,"file":"server-builder.js","names":["_teen_process","require","_support","_lodash","_interopRequireDefault","_path","_os","_utils","GRADLE_VERSION_KEY","GRADLE_URL_PREFIX","GRADLE_URL_TEMPLATE","exports","GRADLE_MAX_ERROR_LOG_LINES","DEPENDENCY_PROP_NAMES","VERSION_KEYS","buildServerSigningConfig","args","zipAlign","keystoreFile","keystorePassword","keyAlias","keyPassword","ServerBuilder","constructor","log","serverPath","showGradleLog","buildConfiguration","versionConfiguration","toolsVersions","serverVersions","_","reduce","acc","value","key","includes","warn","testAppPackage","signingConfig","propName","build","setGradleWrapperVersion","insertAdditionalDependencies","runBuildProcess","getCommand","cmd","system","isWindows","path","resolve","buildProperty","filter","map","serverVersion","gradleProperty","charAt","toUpperCase","slice","Boolean","push","keys","upperFirst","k","v","version","propertiesPath","originalProperties","fs","readFile","newProperties","updateGradleDistUrl","writeFile","propertiesContent","replace","RegExp","escapeRegExp","hasAdditionalDeps","isArray","Error","isEmpty","line","trim","dep","test","buildPath","configuration","prefix","deps","info","updateDependencyLines","debug","join","gradlebuild","SubProcess","cwd","stdio","windowsVerbatimArguments","buildLastLines","logMsg","on","startsWith","EOL","length","start","err","msg","message","errorAndThrow","_default","default"],"sources":["../../lib/server-builder.js"],"sourcesContent":["import { SubProcess } from 'teen_process';\nimport { fs, system } from 'appium/support';\nimport _ from 'lodash';\nimport path from 'path';\nimport { EOL } from 'os';\nimport { updateDependencyLines } from './utils';\n\nconst GRADLE_VERSION_KEY = 'gradle';\nconst GRADLE_URL_PREFIX = 'distributionUrl=';\nconst GRADLE_URL_TEMPLATE = 'https\\\\://services.gradle.org/distributions/gradle-VERSION-all.zip';\nconst GRADLE_MAX_ERROR_LOG_LINES = 15;\nconst DEPENDENCY_PROP_NAMES = ['additionalAppDependencies', 'additionalAndroidTestDependencies'];\n\nconst VERSION_KEYS = [\n GRADLE_VERSION_KEY,\n 'androidGradlePlugin',\n 'compileSdk',\n 'buildTools',\n 'minSdk',\n 'targetSdk',\n 'kotlin',\n 'sourceCompatibility',\n 'targetCompatibility',\n 'jvmTarget',\n 'composeVersion',\n 'espressoVersion',\n 'annotationVersion'\n];\n\nfunction buildServerSigningConfig (args) {\n return {\n zipAlign: true,\n keystoreFile: args.keystoreFile,\n keystorePassword: args.keystorePassword,\n keyAlias: args.keyAlias,\n keyPassword: args.keyPassword\n };\n}\n\nclass ServerBuilder {\n constructor (log, args = {}) {\n this.log = log;\n this.serverPath = args.serverPath;\n this.showGradleLog = args.showGradleLog;\n\n const buildConfiguration = args.buildConfiguration || {};\n\n const versionConfiguration = buildConfiguration.toolsVersions || {};\n this.serverVersions = _.reduce(versionConfiguration, (acc, value, key) => {\n if (VERSION_KEYS.includes(key)) {\n acc[key] = value;\n } else {\n log.warn(`Got unexpected '${key}' in toolsVersion block of the build configuration`);\n }\n return acc;\n }, {});\n\n this.testAppPackage = args.testAppPackage;\n this.signingConfig = args.signingConfig;\n\n for (const propName of DEPENDENCY_PROP_NAMES) {\n this[propName] = buildConfiguration[propName] || [];\n }\n }\n\n async build () {\n if (this.serverVersions[GRADLE_VERSION_KEY]) {\n await this.setGradleWrapperVersion(this.serverVersions[GRADLE_VERSION_KEY]);\n }\n\n await this.insertAdditionalDependencies();\n\n await this.runBuildProcess();\n }\n\n getCommand () {\n const cmd = system.isWindows() ? 'gradlew.bat' : path.resolve(this.serverPath, 'gradlew');\n const buildProperty = (key, value) => value ? `-P${key}=${value}` : null;\n let args = VERSION_KEYS\n .filter((key) => key !== GRADLE_VERSION_KEY)\n .map((key) => {\n const serverVersion = this.serverVersions[key];\n const gradleProperty = `appium${key.charAt(0).toUpperCase()}${key.slice(1)}`;\n return buildProperty(gradleProperty, serverVersion);\n })\n .filter(Boolean);\n\n if (this.signingConfig) {\n args.push(...(\n _.keys(this.signingConfig)\n .map((key) => [`appium${_.upperFirst(key)}`, this.signingConfig[key]])\n .map(([k, v]) => buildProperty(k, v))\n .filter(Boolean)\n ));\n }\n\n if (this.testAppPackage) {\n args.push(buildProperty('appiumTargetPackage', this.testAppPackage));\n }\n args.push('app:assembleAndroidTest');\n\n return {cmd, args};\n }\n\n async setGradleWrapperVersion (version) {\n const propertiesPath = path.resolve(this.serverPath, 'gradle', 'wrapper', 'gradle-wrapper.properties');\n const originalProperties = await fs.readFile(propertiesPath, 'utf8');\n const newProperties = this.updateGradleDistUrl(originalProperties, version);\n await fs.writeFile(propertiesPath, newProperties, 'utf8');\n }\n\n updateGradleDistUrl (propertiesContent, version) {\n return propertiesContent.replace(\n new RegExp(`^(${_.escapeRegExp(GRADLE_URL_PREFIX)}).+$`, 'gm'),\n `$1${GRADLE_URL_TEMPLATE.replace('VERSION', version)}`\n );\n }\n\n async insertAdditionalDependencies () {\n let hasAdditionalDeps = false;\n for (const propName of DEPENDENCY_PROP_NAMES) {\n if (!_.isArray(this[propName])) {\n throw new Error(`'${propName}' must be an array`);\n }\n if (_.isEmpty(this[propName].filter((line) => _.trim(line)))) {\n continue;\n }\n\n for (const dep of this[propName]) {\n if (/[\\s'\\\\$]/.test(dep)) {\n throw new Error('Single quotes, dollar characters and whitespace characters' +\n ` are disallowed in additional dependencies: ${dep}`);\n }\n }\n hasAdditionalDeps = true;\n }\n if (!hasAdditionalDeps) {\n return;\n }\n\n const buildPath = path.resolve(this.serverPath, 'app', 'build.gradle.kts');\n let configuration = await fs.readFile(buildPath, 'utf8');\n for (const propName of DEPENDENCY_PROP_NAMES) {\n const prefix = propName === DEPENDENCY_PROP_NAMES[0]\n ? 'implementation'\n : 'androidTestImplementation';\n const deps = this[propName]\n .filter((line) => _.trim(line))\n .map((line) => `${prefix}(\"${line}\")`);\n if (_.isEmpty(deps)) {\n continue;\n }\n\n this.log.info(`Adding the following ${propName} to build.gradle.kts: ${deps}`);\n configuration = updateDependencyLines(configuration, propName, deps);\n }\n await fs.writeFile(buildPath, configuration, 'utf8');\n }\n\n async runBuildProcess () {\n const {cmd, args} = this.getCommand();\n this.log.debug(`Beginning build with command '${cmd} ${args.join(' ')}' ` +\n `in directory '${this.serverPath}'`);\n const gradlebuild = new SubProcess(cmd, args, {\n cwd: this.serverPath,\n stdio: ['ignore', 'pipe', 'pipe'],\n windowsVerbatimArguments: true\n });\n let buildLastLines = [];\n\n const logMsg = `Output from Gradle ${this.showGradleLog ? 'will' : 'will not'} be logged`;\n this.log.debug(`${logMsg}. To change this, use 'showGradleLog' desired capability`);\n gradlebuild.on('stream-line', (line) => {\n if (this.showGradleLog) {\n if (line.startsWith('[STDERR]')) {\n this.log.warn(`[Gradle] ${line}`);\n } else {\n this.log.info(`[Gradle] ${line}`);\n }\n }\n buildLastLines.push(`${EOL}${line}`);\n if (buildLastLines.length > GRADLE_MAX_ERROR_LOG_LINES) {\n buildLastLines = buildLastLines.slice(-GRADLE_MAX_ERROR_LOG_LINES);\n }\n });\n\n try {\n await gradlebuild.start();\n await gradlebuild.join();\n } catch (err) {\n let msg = `Unable to build Espresso server - ${err.message}\\n` +\n `Gradle error message:${EOL}${buildLastLines}`;\n this.log.errorAndThrow(msg);\n }\n }\n}\n\nexport { ServerBuilder, VERSION_KEYS, GRADLE_URL_TEMPLATE, buildServerSigningConfig };\nexport default ServerBuilder;\n"],"mappings":"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"}
@@ -86,6 +86,7 @@ android {
86
86
 
87
87
  val kotlinVersion = rootProject.extra["appiumKotlin"]
88
88
  val composeVersion = getStringProperty("appiumComposeVersion", Version.compose)
89
+ val espressoVersion = getStringProperty("appiumEspressoVersion", Version.espresso)
89
90
  val annotationVersion = getStringProperty("appiumAnnotationVersion", Version.annotation)
90
91
 
91
92
  dependencies {
@@ -97,9 +98,9 @@ dependencies {
97
98
  testImplementation("org.powermock:powermock-module-junit4-rule:${Version.mocklib}")
98
99
  testImplementation("org.powermock:powermock-module-junit4:${Version.mocklib}")
99
100
  testImplementation("androidx.annotation:annotation:${annotationVersion}")
100
- testImplementation("androidx.test.espresso:espresso-contrib:${Version.espresso}")
101
- testImplementation("androidx.test.espresso:espresso-core:${Version.espresso}")
102
- testImplementation("androidx.test.espresso:espresso-web:${Version.espresso}")
101
+ testImplementation("androidx.test.espresso:espresso-contrib:${espressoVersion}")
102
+ testImplementation("androidx.test.espresso:espresso-core:${espressoVersion}")
103
+ testImplementation("androidx.test.espresso:espresso-web:${espressoVersion}")
103
104
  testImplementation("androidx.test.uiautomator:uiautomator:${Version.uia}")
104
105
  testImplementation("androidx.test:core:${Version.testlib}")
105
106
  testImplementation("androidx.test:runner:${Version.testlib}")
@@ -116,12 +117,12 @@ dependencies {
116
117
  testImplementation("androidx.compose.ui:ui-test-junit4:${composeVersion}")
117
118
 
118
119
  androidTestImplementation("androidx.annotation:annotation:${annotationVersion}")
119
- androidTestImplementation("androidx.test.espresso:espresso-contrib:${Version.espresso}") {
120
+ androidTestImplementation("androidx.test.espresso:espresso-contrib:${espressoVersion}") {
120
121
  // Exclude transitive dependencies to limit conflicts with AndroidX libraries from AUT.
121
122
  // Link to PR with fix and discussion https://github.com/appium/appium-espresso-driver/pull/596
122
123
  isTransitive = false
123
124
  }
124
- androidTestImplementation("androidx.test.espresso:espresso-web:${Version.espresso}") {
125
+ androidTestImplementation("androidx.test.espresso:espresso-web:${espressoVersion}") {
125
126
  because("Espresso Web Atoms support (mobile: webAtoms)")
126
127
  }
127
128
  androidTestImplementation("androidx.test.uiautomator:uiautomator:${Version.uia}") {
@@ -23,6 +23,7 @@ const VERSION_KEYS = [
23
23
  'targetCompatibility',
24
24
  'jvmTarget',
25
25
  'composeVersion',
26
+ 'espressoVersion',
26
27
  'annotationVersion'
27
28
  ];
28
29
 
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "appium-espresso-driver",
3
- "version": "2.19.0",
3
+ "version": "2.20.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "appium-espresso-driver",
9
- "version": "2.19.0",
9
+ "version": "2.20.1",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@babel/runtime": "^7.4.3",
@@ -46,7 +46,7 @@
46
46
  "lint-staged": "^13.0.3",
47
47
  "mocha": "^10.0.0",
48
48
  "pre-commit": "^1.2.2",
49
- "rimraf": "^4.0.4",
49
+ "rimraf": "^5.0.0",
50
50
  "semantic-release": "^20.0.2",
51
51
  "sinon": "^15.0.0",
52
52
  "webdriverio": "^8.0.2",
@@ -61,11 +61,11 @@
61
61
  }
62
62
  },
63
63
  "node_modules/@appium/base-driver": {
64
- "version": "9.3.3",
64
+ "version": "9.3.5",
65
65
  "license": "Apache-2.0",
66
66
  "dependencies": {
67
- "@appium/support": "^3.1.7",
68
- "@appium/types": "^0.10.1",
67
+ "@appium/support": "^3.1.9",
68
+ "@appium/types": "^0.10.3",
69
69
  "@colors/colors": "1.5.0",
70
70
  "@types/async-lock": "1.4.0",
71
71
  "@types/bluebird": "3.5.38",
@@ -86,7 +86,7 @@
86
86
  "morgan": "1.10.0",
87
87
  "serve-favicon": "2.5.0",
88
88
  "source-map-support": "0.5.21",
89
- "type-fest": "3.6.1",
89
+ "type-fest": "3.7.2",
90
90
  "validate.js": "0.13.1"
91
91
  },
92
92
  "engines": {
@@ -102,12 +102,12 @@
102
102
  }
103
103
  },
104
104
  "node_modules/@appium/base-plugin": {
105
- "version": "2.2.3",
105
+ "version": "2.2.5",
106
106
  "extraneous": true,
107
107
  "license": "Apache-2.0",
108
108
  "dependencies": {
109
- "@appium/base-driver": "^9.3.3",
110
- "@appium/support": "^3.1.7"
109
+ "@appium/base-driver": "^9.3.5",
110
+ "@appium/support": "^3.1.9"
111
111
  },
112
112
  "engines": {
113
113
  "node": "^14.17.0 || ^16.13.0 || >=18.0.0",
@@ -115,13 +115,13 @@
115
115
  }
116
116
  },
117
117
  "node_modules/@appium/docutils": {
118
- "version": "0.3.0",
118
+ "version": "0.3.4",
119
119
  "extraneous": true,
120
120
  "license": "Apache-2.0",
121
121
  "dependencies": {
122
- "@appium/support": "^3.1.7",
122
+ "@appium/support": "^3.1.9",
123
123
  "@appium/tsconfig": "^0.2.4",
124
- "@appium/typedoc-plugin-appium": "^0.5.1",
124
+ "@appium/typedoc-plugin-appium": "^0.6.0",
125
125
  "@sliphua/lilconfig-ts-loader": "3.2.2",
126
126
  "chalk": "4.1.2",
127
127
  "consola": "2.15.3",
@@ -137,8 +137,8 @@
137
137
  "semver": "7.3.8",
138
138
  "source-map-support": "0.5.21",
139
139
  "teen_process": "2.0.2",
140
- "type-fest": "3.6.1",
141
- "typedoc": "0.23.26",
140
+ "type-fest": "3.7.2",
141
+ "typedoc": "0.23.28",
142
142
  "typedoc-plugin-markdown": "3.14.0",
143
143
  "typedoc-plugin-resolve-crossmodule-references": "0.3.3",
144
144
  "typescript": "4.9.5",
@@ -254,13 +254,13 @@
254
254
  }
255
255
  },
256
256
  "node_modules/@appium/support": {
257
- "version": "3.1.7",
257
+ "version": "3.1.9",
258
258
  "license": "Apache-2.0",
259
259
  "dependencies": {
260
260
  "@appium/tsconfig": "^0.2.4",
261
- "@appium/types": "^0.10.1",
261
+ "@appium/types": "^0.10.3",
262
262
  "@colors/colors": "1.5.0",
263
- "@types/archiver": "5.3.1",
263
+ "@types/archiver": "5.3.2",
264
264
  "@types/base64-stream": "1.0.2",
265
265
  "@types/find-root": "1.1.2",
266
266
  "@types/glob": "8.1.0",
@@ -311,7 +311,7 @@
311
311
  "source-map-support": "0.5.21",
312
312
  "supports-color": "8.1.1",
313
313
  "teen_process": "2.0.2",
314
- "type-fest": "3.6.1",
314
+ "type-fest": "3.7.2",
315
315
  "uuid": "9.0.0",
316
316
  "which": "3.0.0",
317
317
  "yauzl": "2.10.0"
@@ -443,14 +443,14 @@
443
443
  }
444
444
  },
445
445
  "node_modules/@appium/typedoc-plugin-appium": {
446
- "version": "0.5.1",
446
+ "version": "0.6.0",
447
447
  "extraneous": true,
448
448
  "license": "Apache-2.0",
449
449
  "dependencies": {
450
450
  "handlebars": "4.7.7",
451
451
  "lodash": "4.17.21",
452
452
  "pluralize": "8.0.0",
453
- "type-fest": "3.6.1"
453
+ "type-fest": "3.7.2"
454
454
  },
455
455
  "engines": {
456
456
  "node": "^14.17.0 || ^16.13.0 || >=18.0.0",
@@ -461,11 +461,11 @@
461
461
  "typedoc": "^0.23.14",
462
462
  "typedoc-plugin-markdown": "^3.14.0",
463
463
  "typedoc-plugin-resolve-crossmodule-references": "~0.3.3",
464
- "typescript": "^4.7.0"
464
+ "typescript": "^4.7.0 || ^5.0.0"
465
465
  }
466
466
  },
467
467
  "node_modules/@appium/types": {
468
- "version": "0.10.1",
468
+ "version": "0.10.3",
469
469
  "license": "Apache-2.0",
470
470
  "dependencies": {
471
471
  "@appium/schema": "^0.2.6",
@@ -473,7 +473,7 @@
473
473
  "@types/express": "4.17.17",
474
474
  "@types/npmlog": "4.1.4",
475
475
  "@types/ws": "8.5.4",
476
- "type-fest": "3.6.1"
476
+ "type-fest": "3.7.2"
477
477
  },
478
478
  "engines": {
479
479
  "node": "^14.17.0 || ^16.13.0 || >=18.0.0",
@@ -481,7 +481,7 @@
481
481
  }
482
482
  },
483
483
  "node_modules/@babel/code-frame": {
484
- "version": "7.18.6",
484
+ "version": "7.21.4",
485
485
  "license": "MIT",
486
486
  "dependencies": {
487
487
  "@babel/highlight": "^7.18.6"
@@ -998,10 +998,10 @@
998
998
  "license": "MIT"
999
999
  },
1000
1000
  "node_modules/@types/archiver": {
1001
- "version": "5.3.1",
1001
+ "version": "5.3.2",
1002
1002
  "license": "MIT",
1003
1003
  "dependencies": {
1004
- "@types/glob": "*"
1004
+ "@types/readdir-glob": "*"
1005
1005
  }
1006
1006
  },
1007
1007
  "node_modules/@types/argparse": {
@@ -1124,7 +1124,7 @@
1124
1124
  }
1125
1125
  },
1126
1126
  "node_modules/@types/node": {
1127
- "version": "18.15.10",
1127
+ "version": "18.15.11",
1128
1128
  "license": "MIT"
1129
1129
  },
1130
1130
  "node_modules/@types/normalize-package-data": {
@@ -1154,6 +1154,13 @@
1154
1154
  "version": "1.2.4",
1155
1155
  "license": "MIT"
1156
1156
  },
1157
+ "node_modules/@types/readdir-glob": {
1158
+ "version": "1.1.1",
1159
+ "license": "MIT",
1160
+ "dependencies": {
1161
+ "@types/node": "*"
1162
+ }
1163
+ },
1157
1164
  "node_modules/@types/rimraf": {
1158
1165
  "version": "3.0.2",
1159
1166
  "license": "MIT",
@@ -1218,7 +1225,7 @@
1218
1225
  }
1219
1226
  },
1220
1227
  "node_modules/@xmldom/xmldom": {
1221
- "version": "0.8.6",
1228
+ "version": "0.8.7",
1222
1229
  "license": "MIT",
1223
1230
  "engines": {
1224
1231
  "node": ">=10.0.0"
@@ -1322,7 +1329,7 @@
1322
1329
  "license": "MIT"
1323
1330
  },
1324
1331
  "node_modules/appium-adb": {
1325
- "version": "9.10.24",
1332
+ "version": "9.11.0",
1326
1333
  "license": "Apache-2.0",
1327
1334
  "dependencies": {
1328
1335
  "@appium/support": "^3.0.0",
@@ -1379,11 +1386,11 @@
1379
1386
  "license": "ISC"
1380
1387
  },
1381
1388
  "node_modules/appium-android-driver": {
1382
- "version": "5.8.12",
1389
+ "version": "5.9.0",
1383
1390
  "license": "Apache-2.0",
1384
1391
  "dependencies": {
1385
1392
  "@babel/runtime": "^7.0.0",
1386
- "appium-adb": "^9.10.9",
1393
+ "appium-adb": "^9.11.0",
1387
1394
  "appium-chromedriver": "^5.2.0",
1388
1395
  "asyncbox": "^2.8.0",
1389
1396
  "axios": "^1.x",
@@ -1445,7 +1452,7 @@
1445
1452
  "license": "ISC"
1446
1453
  },
1447
1454
  "node_modules/appium-chromedriver": {
1448
- "version": "5.3.2",
1455
+ "version": "5.3.4",
1449
1456
  "hasInstallScript": true,
1450
1457
  "license": "Apache-2.0",
1451
1458
  "dependencies": {
@@ -1879,7 +1886,7 @@
1879
1886
  }
1880
1887
  },
1881
1888
  "node_modules/cli-spinners": {
1882
- "version": "2.7.0",
1889
+ "version": "2.8.0",
1883
1890
  "extraneous": true,
1884
1891
  "license": "MIT",
1885
1892
  "engines": {
@@ -3119,17 +3126,6 @@
3119
3126
  "triple-beam": "^1.3.0"
3120
3127
  }
3121
3128
  },
3122
- "node_modules/longjohn": {
3123
- "version": "0.2.12",
3124
- "extraneous": true,
3125
- "license": "MIT",
3126
- "dependencies": {
3127
- "source-map-support": "0.3.2 - 1.0.0"
3128
- },
3129
- "engines": {
3130
- "node": ">= 0.9.3"
3131
- }
3132
- },
3133
3129
  "node_modules/lunr": {
3134
3130
  "version": "2.3.9",
3135
3131
  "extraneous": true,
@@ -3272,7 +3268,7 @@
3272
3268
  }
3273
3269
  },
3274
3270
  "node_modules/moment-timezone": {
3275
- "version": "0.5.42",
3271
+ "version": "0.5.43",
3276
3272
  "license": "MIT",
3277
3273
  "dependencies": {
3278
3274
  "moment": "^2.29.4"
@@ -3606,7 +3602,7 @@
3606
3602
  }
3607
3603
  },
3608
3604
  "node_modules/package-changed": {
3609
- "version": "2.0.0",
3605
+ "version": "3.0.0",
3610
3606
  "extraneous": true,
3611
3607
  "license": "ISC",
3612
3608
  "dependencies": {
@@ -3947,7 +3943,7 @@
3947
3943
  }
3948
3944
  },
3949
3945
  "node_modules/readdir-glob": {
3950
- "version": "1.1.2",
3946
+ "version": "1.1.3",
3951
3947
  "license": "Apache-2.0",
3952
3948
  "dependencies": {
3953
3949
  "minimatch": "^5.1.0"
@@ -3991,10 +3987,10 @@
3991
3987
  }
3992
3988
  },
3993
3989
  "node_modules/resolve": {
3994
- "version": "1.22.1",
3990
+ "version": "1.22.2",
3995
3991
  "license": "MIT",
3996
3992
  "dependencies": {
3997
- "is-core-module": "^2.9.0",
3993
+ "is-core-module": "^2.11.0",
3998
3994
  "path-parse": "^1.0.7",
3999
3995
  "supports-preserve-symlinks-flag": "^1.0.0"
4000
3996
  },
@@ -4501,7 +4497,7 @@
4501
4497
  "license": "0BSD"
4502
4498
  },
4503
4499
  "node_modules/type-fest": {
4504
- "version": "3.6.1",
4500
+ "version": "3.7.2",
4505
4501
  "license": "(MIT OR CC0-1.0)",
4506
4502
  "engines": {
4507
4503
  "node": ">=14.16"
@@ -4522,7 +4518,7 @@
4522
4518
  }
4523
4519
  },
4524
4520
  "node_modules/typedoc": {
4525
- "version": "0.23.26",
4521
+ "version": "0.23.28",
4526
4522
  "extraneous": true,
4527
4523
  "license": "Apache-2.0",
4528
4524
  "dependencies": {
@@ -4538,7 +4534,7 @@
4538
4534
  "node": ">= 14.14"
4539
4535
  },
4540
4536
  "peerDependencies": {
4541
- "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x"
4537
+ "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x"
4542
4538
  }
4543
4539
  },
4544
4540
  "node_modules/typedoc-plugin-markdown": {
@@ -4575,7 +4571,7 @@
4575
4571
  }
4576
4572
  },
4577
4573
  "node_modules/typedoc/node_modules/minimatch": {
4578
- "version": "7.4.3",
4574
+ "version": "7.4.6",
4579
4575
  "extraneous": true,
4580
4576
  "license": "ISC",
4581
4577
  "dependencies": {
package/package.json CHANGED
@@ -7,7 +7,7 @@
7
7
  "automated testing",
8
8
  "android"
9
9
  ],
10
- "version": "2.19.0",
10
+ "version": "2.20.1",
11
11
  "author": "Appium Contributors",
12
12
  "license": "Apache-2.0",
13
13
  "repository": {
@@ -126,7 +126,7 @@
126
126
  "lint-staged": "^13.0.3",
127
127
  "mocha": "^10.0.0",
128
128
  "pre-commit": "^1.2.2",
129
- "rimraf": "^4.0.4",
129
+ "rimraf": "^5.0.0",
130
130
  "semantic-release": "^20.0.2",
131
131
  "sinon": "^15.0.0",
132
132
  "webdriverio": "^8.0.2",