appium-adb 12.0.4 → 12.0.6

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
+ ## [12.0.6](https://github.com/appium/appium-adb/compare/v12.0.5...v12.0.6) (2024-04-01)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Make 'executable' opt optional ([#726](https://github.com/appium/appium-adb/issues/726)) ([e213744](https://github.com/appium/appium-adb/commit/e2137445762f3fa1c683d14e64474aa51607a86c))
7
+
8
+ ## [12.0.5](https://github.com/appium/appium-adb/compare/v12.0.4...v12.0.5) (2024-03-29)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * Do not call 'start-server' if the 'suppressKillServer' option is enabled ([#725](https://github.com/appium/appium-adb/issues/725)) ([0fd0210](https://github.com/appium/appium-adb/commit/0fd021049a5efe8317621ef431ea34d191989e01))
14
+
1
15
  ## [12.0.4](https://github.com/appium/appium-adb/compare/v12.0.3...v12.0.4) (2024-03-07)
2
16
 
3
17
 
@@ -32,15 +32,15 @@ export declare class ADB {
32
32
  remoteAppsCache: LRUCache<string, string> | undefined;
33
33
  _isLockManagementSupported: boolean | undefined;
34
34
  executable: ADBExecutable;
35
- constructor(opts?: Partial<ADBOptions>);
35
+ constructor(opts?: ADBOptions);
36
36
  /**
37
37
  * Create a new instance of `ADB` that inherits configuration from this `ADB` instance.
38
38
  * This avoids the need to call `ADB.createADB()` multiple times.
39
39
  * @param opts - Additional options mapping to pass to the `ADB` constructor.
40
40
  * @returns The resulting class instance.
41
41
  */
42
- clone(opts?: Partial<ADBOptions>): ADB;
43
- static createADB(opts: Partial<ADBOptions>): Promise<ADB>;
42
+ clone(opts?: ADBOptions): ADB;
43
+ static createADB(opts?: ADBOptions): Promise<ADB>;
44
44
  }
45
45
  export { DEFAULT_ADB_PORT, getAndroidBinaryPath, getSdkRootFromEnv };
46
46
  //# sourceMappingURL=adb.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../../lib/adb.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAC,oBAAoB,EAAC,MAAM,SAAS,CAAC;AACtD,OAAO,EAA2C,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAEtF,OAAO,KAAK,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,QAAA,MAAM,gBAAgB,OAAO,CAAC;AAC9B,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAUf,CAAC;AAEX,qBAAa,GAAG;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAC5B,oBAAoB,EAAE,UAAU,GAAC,SAAS,CAAC;IAC3C,qBAAqB,EAAE,OAAO,GAAC,SAAS,CAAC;IACzC,iBAAiB,EAAE,OAAO,GAAC,SAAS,CAAC;IACrC,6BAA6B,EAAE,OAAO,GAAC,SAAS,CAAC;IACjD,iBAAiB,EAAE,OAAO,GAAC,SAAS,CAAC;IACrC,iBAAiB,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAC,SAAS,CAAC;IACrD,8BAA8B,EAAE,OAAO,GAAC,SAAS,CAAC;IAClD,eAAe,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAC,SAAS,CAAC;IACpD,0BAA0B,EAAE,OAAO,GAAC,SAAS,CAAC;IAE9C,UAAU,EAAE,aAAa,CAAC;gBACd,IAAI,GAAE,OAAO,CAAC,UAAU,CAAM;IAmB1C;;;;;OAKG;IACH,KAAK,CAAC,IAAI,GAAE,OAAO,CAAC,UAAU,CAAM,GAAG,GAAG;WAiB7B,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;CAYjD;AAKD,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,CAAC"}
1
+ {"version":3,"file":"adb.d.ts","sourceRoot":"","sources":["../../lib/adb.ts"],"names":[],"mappings":"AAEA,OAAgB,EAAC,oBAAoB,EAAC,MAAM,SAAS,CAAC;AACtD,OAAO,EAA2C,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAEtF,OAAO,KAAK,EAAC,UAAU,EAAE,aAAa,EAAC,MAAM,WAAW,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAG1C,QAAA,MAAM,gBAAgB,OAAO,CAAC;AAC9B,eAAO,MAAM,YAAY;;;;;;;;;;;;;CAUf,CAAC;AAEX,qBAAa,GAAG;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAC,SAAS,CAAC;IAC5B,oBAAoB,EAAE,UAAU,GAAC,SAAS,CAAC;IAC3C,qBAAqB,EAAE,OAAO,GAAC,SAAS,CAAC;IACzC,iBAAiB,EAAE,OAAO,GAAC,SAAS,CAAC;IACrC,6BAA6B,EAAE,OAAO,GAAC,SAAS,CAAC;IACjD,iBAAiB,EAAE,OAAO,GAAC,SAAS,CAAC;IACrC,iBAAiB,EAAE,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAC,SAAS,CAAC;IACrD,8BAA8B,EAAE,OAAO,GAAC,SAAS,CAAC;IAClD,eAAe,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,GAAC,SAAS,CAAC;IACpD,0BAA0B,EAAE,OAAO,GAAC,SAAS,CAAC;IAE9C,UAAU,EAAE,aAAa,CAAC;gBACd,IAAI,GAAE,UAA+B;IAmBjD;;;;;OAKG;IACH,KAAK,CAAC,IAAI,GAAE,UAA+B,GAAG,GAAG;WAiBpC,SAAS,CAAC,IAAI,GAAE,UAA+B;CAc7D;AAKD,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAC,CAAC"}
package/build/lib/adb.js CHANGED
@@ -51,7 +51,7 @@ class ADB {
51
51
  constructor(opts = {}) {
52
52
  const options = lodash_1.default.defaultsDeep(opts, lodash_1.default.cloneDeep(exports.DEFAULT_OPTS));
53
53
  lodash_1.default.defaultsDeep(this, options);
54
- // avoid TS error by explicitly assigning
54
+ // The above defaultsDeep call guarantees the 'executable' field to be always assigned
55
55
  this.executable = options.executable;
56
56
  if (options.remoteAdbHost) {
57
57
  this.executable.defaultArgs.push('-H', options.remoteAdbHost);
@@ -84,16 +84,18 @@ class ADB {
84
84
  }
85
85
  return new ADB(cloneOptions);
86
86
  }
87
- static async createADB(opts) {
87
+ static async createADB(opts = {}) {
88
88
  const adb = new ADB(opts);
89
89
  adb.sdkRoot = await (0, helpers_1.requireSdkRoot)(adb.sdkRoot);
90
90
  await adb.getAdbWithCorrectAdbPath();
91
- try {
92
- await adb.adbExec(['start-server']);
93
- }
94
- catch (e) {
95
- const err = e;
96
- logger_1.default.warn(err.stderr || err.message);
91
+ if (!opts?.suppressKillServer) {
92
+ try {
93
+ await adb.adbExec(['start-server']);
94
+ }
95
+ catch (e) {
96
+ const err = e;
97
+ logger_1.default.warn(err.stderr || err.message);
98
+ }
97
99
  }
98
100
  return adb;
99
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adb.js","sourceRoot":"","sources":["../../lib/adb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adb.js","sourceRoot":"","sources":["../../lib/adb.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export interface ADBOptions {
9
9
  keystorePassword?: string;
10
10
  keyAlias?: string;
11
11
  keyPassword?: string;
12
- executable: ADBExecutable;
12
+ executable?: ADBExecutable;
13
13
  tmpDir?: string;
14
14
  curDeviceId?: string;
15
15
  emulatorPort?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../lib/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../lib/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAEhD,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB"}
package/lib/adb.ts CHANGED
@@ -6,6 +6,7 @@ import log from './logger';
6
6
  import type {ADBOptions, ADBExecutable} from './options';
7
7
  import type { LogcatOpts } from './logcat';
8
8
  import type { LRUCache } from 'lru-cache';
9
+ import type { ExecError } from 'teen_process';
9
10
 
10
11
  const DEFAULT_ADB_PORT = 5037;
11
12
  export const DEFAULT_OPTS = {
@@ -35,12 +36,12 @@ export class ADB {
35
36
  _isLockManagementSupported: boolean|undefined;
36
37
 
37
38
  executable: ADBExecutable;
38
- constructor(opts: Partial<ADBOptions> = {}) {
39
+ constructor(opts: ADBOptions = ({} as ADBOptions)) {
39
40
  const options: ADBOptions = _.defaultsDeep(opts, _.cloneDeep(DEFAULT_OPTS));
40
41
  _.defaultsDeep(this, options);
41
42
 
42
- // avoid TS error by explicitly assigning
43
- this.executable = options.executable;
43
+ // The above defaultsDeep call guarantees the 'executable' field to be always assigned
44
+ this.executable = options.executable as ADBExecutable;
44
45
 
45
46
  if (options.remoteAdbHost) {
46
47
  this.executable.defaultArgs.push('-H', options.remoteAdbHost);
@@ -60,7 +61,7 @@ export class ADB {
60
61
  * @param opts - Additional options mapping to pass to the `ADB` constructor.
61
62
  * @returns The resulting class instance.
62
63
  */
63
- clone(opts: Partial<ADBOptions> = {}): ADB {
64
+ clone(opts: ADBOptions = ({} as ADBOptions)): ADB {
64
65
  const originalOptions = _.cloneDeep(_.pick(this, Object.keys(DEFAULT_OPTS)));
65
66
  const cloneOptions = _.defaultsDeep(opts, originalOptions);
66
67
 
@@ -77,15 +78,17 @@ export class ADB {
77
78
  return new ADB(cloneOptions);
78
79
  }
79
80
 
80
- static async createADB(opts: Partial<ADBOptions>) {
81
+ static async createADB(opts: ADBOptions = ({} as ADBOptions)) {
81
82
  const adb = new ADB(opts);
82
83
  adb.sdkRoot = await requireSdkRoot(adb.sdkRoot);
83
84
  await adb.getAdbWithCorrectAdbPath();
84
- try {
85
- await adb.adbExec(['start-server']);
86
- } catch (e) {
87
- const err = e as import('teen_process').ExecError;
88
- log.warn(err.stderr || err.message);
85
+ if (!opts?.suppressKillServer) {
86
+ try {
87
+ await adb.adbExec(['start-server']);
88
+ } catch (e) {
89
+ const err = e as ExecError;
90
+ log.warn(err.stderr || err.message);
91
+ }
89
92
  }
90
93
  return adb;
91
94
  }
package/lib/options.ts CHANGED
@@ -11,7 +11,7 @@ export interface ADBOptions {
11
11
  keystorePassword?: string;
12
12
  keyAlias?: string;
13
13
  keyPassword?: string;
14
- executable: ADBExecutable;
14
+ executable?: ADBExecutable;
15
15
  tmpDir?: string;
16
16
  curDeviceId?: string;
17
17
  emulatorPort?: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-adb",
3
- "version": "12.0.4",
3
+ "version": "12.0.6",
4
4
  "description": "Android Debug Bridge interface",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {