appium-chromedriver 8.0.31 → 8.2.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 (38) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/lib/chromedriver.d.ts +88 -117
  3. package/build/lib/chromedriver.d.ts.map +1 -1
  4. package/build/lib/chromedriver.js +273 -284
  5. package/build/lib/chromedriver.js.map +1 -1
  6. package/build/lib/constants.d.ts +18 -18
  7. package/build/lib/constants.d.ts.map +1 -1
  8. package/build/lib/constants.js.map +1 -1
  9. package/build/lib/protocol-helpers.d.ts +14 -13
  10. package/build/lib/protocol-helpers.d.ts.map +1 -1
  11. package/build/lib/protocol-helpers.js +13 -12
  12. package/build/lib/protocol-helpers.js.map +1 -1
  13. package/build/lib/storage-client/chromelabs.d.ts +15 -15
  14. package/build/lib/storage-client/chromelabs.d.ts.map +1 -1
  15. package/build/lib/storage-client/chromelabs.js +15 -19
  16. package/build/lib/storage-client/chromelabs.js.map +1 -1
  17. package/build/lib/storage-client/googleapis.d.ts +14 -16
  18. package/build/lib/storage-client/googleapis.d.ts.map +1 -1
  19. package/build/lib/storage-client/googleapis.js +25 -41
  20. package/build/lib/storage-client/googleapis.js.map +1 -1
  21. package/build/lib/storage-client/storage-client.d.ts +41 -56
  22. package/build/lib/storage-client/storage-client.d.ts.map +1 -1
  23. package/build/lib/storage-client/storage-client.js +118 -137
  24. package/build/lib/storage-client/storage-client.js.map +1 -1
  25. package/build/lib/utils.d.ts +55 -41
  26. package/build/lib/utils.d.ts.map +1 -1
  27. package/build/lib/utils.js +51 -54
  28. package/build/lib/utils.js.map +1 -1
  29. package/lib/{chromedriver.js → chromedriver.ts} +344 -333
  30. package/lib/{constants.js → constants.ts} +5 -4
  31. package/lib/protocol-helpers.ts +44 -0
  32. package/lib/storage-client/{chromelabs.js → chromelabs.ts} +54 -26
  33. package/lib/storage-client/{googleapis.js → googleapis.ts} +55 -54
  34. package/lib/storage-client/{storage-client.js → storage-client.ts} +188 -182
  35. package/lib/utils.ts +185 -0
  36. package/package.json +2 -1
  37. package/lib/protocol-helpers.js +0 -44
  38. package/lib/utils.js +0 -189
@@ -1,56 +1,70 @@
1
+ import _ from 'lodash';
2
+ import { OS, CPU } from './constants';
3
+ import type { ADB } from 'appium-adb';
4
+ import type { ChromedriverVersionMapping, OSInfo } from './types';
5
+ export declare const CHROMEDRIVER_CHROME_MAPPING: ChromedriverVersionMapping;
6
+ export declare const CD_BASE_DIR: string;
1
7
  /**
2
- *
3
- * @param {import('appium-adb').ADB} adb
4
- * @param {string} bundleId
5
- * @returns
8
+ * Gets the most recent Chromedriver version from the mapping.
9
+ * @param mapping - The Chromedriver version mapping (defaults to the static mapping).
10
+ * @returns The most recent version string.
11
+ * @throws {Error} If the mapping is empty.
6
12
  */
7
- export function getChromeVersion(adb: import("appium-adb").ADB, bundleId: string): Promise<string | undefined>;
8
- export function getChromedriverDir(osName?: string): string;
13
+ export declare function getMostRecentChromedriver(mapping?: ChromedriverVersionMapping): string;
14
+ export declare const CD_VER: string;
9
15
  /**
10
- *
11
- * @param {string} osName
12
- * @returns {Promise<string>}
16
+ * Gets the Chrome version for a given bundle ID using ADB.
17
+ * @param adb - The ADB instance to use.
18
+ * @param bundleId - The bundle ID of the Chrome/WebView app.
19
+ * @returns The version name string, or undefined if not found.
13
20
  */
14
- export function getChromedriverBinaryPath(osName?: string): Promise<string>;
21
+ export declare function getChromeVersion(adb: ADB, bundleId: string): Promise<string | undefined>;
15
22
  /**
16
- * @returns {keyof OS}
23
+ * Gets the directory path for Chromedriver executables for a given OS.
24
+ * @param osName - The OS name (defaults to the current OS).
25
+ * @returns The full path to the Chromedriver directory.
17
26
  */
18
- export const getOsName: (() => string) & _.MemoizedFunction;
19
- export const CD_BASE_DIR: string;
20
- export const CD_VER: string;
21
- export const CHROMEDRIVER_CHROME_MAPPING: any;
27
+ export declare function getChromedriverDir(osName?: string): string;
22
28
  /**
23
- *
24
- * @param {import('./types').ChromedriverVersionMapping} mapping
25
- * @returns {string}
29
+ * Gets the path to the Chromedriver binary for a given OS.
30
+ * @param osName - The OS name (defaults to the current OS).
31
+ * @returns The full path to the Chromedriver binary.
26
32
  */
27
- export function getMostRecentChromedriver(mapping?: import("./types").ChromedriverVersionMapping): string;
33
+ export declare function getChromedriverBinaryPath(osName?: string): Promise<string>;
28
34
  /**
29
- *
30
- * @param {string} url
31
- * @param {import('axios').AxiosRequestConfig['headers']} headers
32
- * @param {Pick<import('axios').AxiosRequestConfig, 'timeout'|'responseType'>} opts
33
- * @returns
35
+ * Retrieves data from a URL using axios.
36
+ * @param url - The URL to fetch from.
37
+ * @param headers - Optional HTTP headers.
38
+ * @param opts - Optional configuration (timeout, responseType).
39
+ * @returns The response data.
34
40
  */
35
- export function retrieveData(url: string, headers: import("axios").AxiosRequestConfig["headers"], opts?: Pick<import("axios").AxiosRequestConfig, "timeout" | "responseType">): Promise<any>;
36
- export const getOsInfo: (() => Promise<import("./types").OSInfo>) & _.MemoizedFunction;
37
- export const getCpuType: (() => string) & _.MemoizedFunction;
38
- import { OS } from './constants';
41
+ export declare function retrieveData(url: string, headers?: import('axios').AxiosRequestConfig['headers'], opts?: Pick<import('axios').AxiosRequestConfig, 'timeout' | 'responseType'>): Promise<any>;
39
42
  /**
40
- * Generates log prefix string
41
- *
42
- * @param {any} obj log owner instance
43
- * @param {string?} sessionId Optional session identifier
44
- * @returns {string}
43
+ * Gets the OS name for the current system.
44
+ * @returns The OS name ('win', 'mac', or 'linux').
45
45
  */
46
- export function generateLogPrefix(obj: any, sessionId?: string | null): string;
46
+ export declare const getOsName: (() => (typeof OS)[keyof typeof OS]) & _.MemoizedFunction;
47
47
  /**
48
- * Converts the given object to an integer number if possible
49
- *
50
- * @param {any} value to be converted
51
- * @returns {number | null}
48
+ * Gets the CPU type for the current system.
49
+ * @returns The CPU type ('intel' or 'arm').
52
50
  */
53
- export function convertToInt(value: any): number | null;
54
- import _ from 'lodash';
55
- export { OS };
51
+ export declare const getCpuType: (() => (typeof CPU)[keyof typeof CPU]) & _.MemoizedFunction;
52
+ /**
53
+ * Gets OS information including name, architecture, and CPU type.
54
+ * @returns A promise that resolves to OS information.
55
+ */
56
+ export declare const getOsInfo: (() => Promise<OSInfo>) & _.MemoizedFunction;
57
+ /**
58
+ * Generates log prefix string.
59
+ * @param obj - Log owner instance.
60
+ * @param sessionId - Optional session identifier.
61
+ * @returns The generated log prefix string.
62
+ */
63
+ export declare function generateLogPrefix(obj: any, sessionId?: string | null): string;
64
+ /**
65
+ * Converts the given object to an integer number if possible.
66
+ * @param value - The value to be converted.
67
+ * @returns The integer value or null if conversion is not possible.
68
+ */
69
+ export declare function convertToInt(value: any): number | null;
56
70
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"AA+CA;;;;;GAKG;AACH,sCAJW,OAAO,YAAY,EAAE,GAAG,YACxB,MAAM,+BAMhB;AAED,4DAEC;AAED;;;;GAIG;AACH,mDAHW,MAAM,GACJ,OAAO,CAAC,MAAM,CAAC,CAc3B;AAqBD;;GAEG;AACH,4DAQG;AAnFH,iCAA+D;AAc/D,4BAG8B;AAlB9B,8CAAkG;AAGlG;;;;GAIG;AACH,oDAHW,OAAO,SAAS,EAAE,0BAA0B,GAC1C,MAAM,CAOlB;AAyCD;;;;;;GAMG;AACH,kCALW,MAAM,WACN,OAAO,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,SAC7C,IAAI,CAAC,OAAO,OAAO,EAAE,kBAAkB,EAAE,SAAS,GAAC,cAAc,CAAC,gBAa5E;AAwBD,+BAEe,OAAO,CAAC,OAAO,SAAS,EAAE,MAAM,CAAC,uBAS9C;AApBF,gCAEe,MAAM,uBAKnB;mBAjHoB,aAAa;AAqInC;;;;;;GAMG;AACH,uCAJW,GAAG,cACH,MAAM,OAAC,GACL,MAAM,CAOlB;AAED;;;;;GAKG;AACH,oCAHW,GAAG,GACD,MAAM,GAAG,IAAI,CAazB;cA3Ka,QAAQ"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAOvB,OAAO,EAAC,EAAE,EAAE,GAAG,EAAC,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAC,0BAA0B,EAAE,MAAM,EAAC,MAAM,SAAS,CAAC;AAmBhE,eAAO,MAAM,2BAA2B,EAAE,0BAIxC,CAAC;AACH,eAAO,MAAM,WAAW,QAA6C,CAAC;AAEtE;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,0BAAwD,GAAG,MAAM,CAKnH;AAED,eAAO,MAAM,MAAM,EAAE,MAGQ,CAAC;AAE9B;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG9F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,MAAoB,GAAG,MAAM,CAEvE;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,GAAE,MAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAY7F;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,EACvD,IAAI,GAAE,IAAI,CAAC,OAAO,OAAO,EAAE,kBAAkB,EAAE,SAAS,GAAG,cAAc,CAAM,GAC9E,OAAO,CAAC,GAAG,CAAC,CAUd;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,SAAmC,CAAA,OAAO,EAAE,EAAC,MAAM,OAAO,EAAE,CAAC,sBAQjF,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,SAAoC,CAAA,OAAO,GAAG,EAAC,MAAM,OAAO,GAAG,CAAC,sBAErF,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,SAAS,SAAyC,OAAO,CAAC,MAAM,CAAC,sBAM5E,CAAC;AAOH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,GAAE,MAAM,GAAG,IAAW,GAAG,MAAM,CAKnF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAWtD"}
@@ -3,11 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.OS = exports.getCpuType = exports.getOsInfo = exports.CHROMEDRIVER_CHROME_MAPPING = exports.CD_VER = exports.CD_BASE_DIR = exports.getOsName = void 0;
6
+ exports.getOsInfo = exports.getCpuType = exports.getOsName = exports.CD_VER = exports.CD_BASE_DIR = exports.CHROMEDRIVER_CHROME_MAPPING = void 0;
7
+ exports.getMostRecentChromedriver = getMostRecentChromedriver;
7
8
  exports.getChromeVersion = getChromeVersion;
8
9
  exports.getChromedriverDir = getChromedriverDir;
9
10
  exports.getChromedriverBinaryPath = getChromedriverBinaryPath;
10
- exports.getMostRecentChromedriver = getMostRecentChromedriver;
11
11
  exports.retrieveData = retrieveData;
12
12
  exports.generateLogPrefix = generateLogPrefix;
13
13
  exports.convertToInt = convertToInt;
@@ -19,13 +19,11 @@ const compare_versions_1 = require("compare-versions");
19
19
  const axios_1 = __importDefault(require("axios"));
20
20
  const os_1 = __importDefault(require("os"));
21
21
  const constants_1 = require("./constants");
22
- Object.defineProperty(exports, "OS", { enumerable: true, get: function () { return constants_1.OS; } });
23
22
  const CD_EXECUTABLE_PREFIX = 'chromedriver';
24
23
  const MODULE_NAME = 'appium-chromedriver';
25
24
  /**
26
25
  * Calculates the path to the current module's root folder
27
- *
28
- * @returns {string} The full path to module root
26
+ * @returns The full path to module root
29
27
  * @throws {Error} If the current module root folder cannot be determined
30
28
  */
31
29
  const getModuleRoot = lodash_1.default.memoize(function getModuleRoot() {
@@ -36,44 +34,47 @@ const getModuleRoot = lodash_1.default.memoize(function getModuleRoot() {
36
34
  return root;
37
35
  });
38
36
  // Chromedriver version: minimum Chrome version
39
- const CHROMEDRIVER_CHROME_MAPPING = require(path_1.default.join(getModuleRoot(), 'config', 'mapping.json'));
40
- exports.CHROMEDRIVER_CHROME_MAPPING = CHROMEDRIVER_CHROME_MAPPING;
41
- const CD_BASE_DIR = path_1.default.join(getModuleRoot(), 'chromedriver');
42
- exports.CD_BASE_DIR = CD_BASE_DIR;
37
+ exports.CHROMEDRIVER_CHROME_MAPPING = require(path_1.default.join(getModuleRoot(), 'config', 'mapping.json'));
38
+ exports.CD_BASE_DIR = path_1.default.join(getModuleRoot(), 'chromedriver');
43
39
  /**
44
- *
45
- * @param {import('./types').ChromedriverVersionMapping} mapping
46
- * @returns {string}
40
+ * Gets the most recent Chromedriver version from the mapping.
41
+ * @param mapping - The Chromedriver version mapping (defaults to the static mapping).
42
+ * @returns The most recent version string.
43
+ * @throws {Error} If the mapping is empty.
47
44
  */
48
- function getMostRecentChromedriver(mapping = CHROMEDRIVER_CHROME_MAPPING) {
45
+ function getMostRecentChromedriver(mapping = exports.CHROMEDRIVER_CHROME_MAPPING) {
49
46
  if (lodash_1.default.isEmpty(mapping)) {
50
47
  throw new Error('Unable to get most recent Chromedriver version from empty mapping');
51
48
  }
52
- return /** @type {string} */ (lodash_1.default.last(lodash_1.default.keys(mapping).sort(compare_versions_1.compareVersions)));
49
+ return lodash_1.default.last(lodash_1.default.keys(mapping).sort(compare_versions_1.compareVersions));
53
50
  }
54
- const CD_VER = process.env.npm_config_chromedriver_version ||
51
+ exports.CD_VER = process.env.npm_config_chromedriver_version ||
55
52
  process.env.CHROMEDRIVER_VERSION ||
56
53
  getMostRecentChromedriver();
57
- exports.CD_VER = CD_VER;
58
54
  /**
59
- *
60
- * @param {import('appium-adb').ADB} adb
61
- * @param {string} bundleId
62
- * @returns
55
+ * Gets the Chrome version for a given bundle ID using ADB.
56
+ * @param adb - The ADB instance to use.
57
+ * @param bundleId - The bundle ID of the Chrome/WebView app.
58
+ * @returns The version name string, or undefined if not found.
63
59
  */
64
60
  async function getChromeVersion(adb, bundleId) {
65
61
  const { versionName } = await adb.getPackageInfo(bundleId);
66
62
  return versionName;
67
63
  }
68
- function getChromedriverDir(osName = getOsName()) {
69
- return path_1.default.resolve(CD_BASE_DIR, osName);
64
+ /**
65
+ * Gets the directory path for Chromedriver executables for a given OS.
66
+ * @param osName - The OS name (defaults to the current OS).
67
+ * @returns The full path to the Chromedriver directory.
68
+ */
69
+ function getChromedriverDir(osName = (0, exports.getOsName)()) {
70
+ return path_1.default.resolve(exports.CD_BASE_DIR, osName);
70
71
  }
71
72
  /**
72
- *
73
- * @param {string} osName
74
- * @returns {Promise<string>}
73
+ * Gets the path to the Chromedriver binary for a given OS.
74
+ * @param osName - The OS name (defaults to the current OS).
75
+ * @returns The full path to the Chromedriver binary.
75
76
  */
76
- async function getChromedriverBinaryPath(osName = getOsName()) {
77
+ async function getChromedriverBinaryPath(osName = (0, exports.getOsName)()) {
77
78
  const rootDir = getChromedriverDir(osName);
78
79
  const pathSuffix = osName === constants_1.OS.WINDOWS ? '.exe' : '';
79
80
  const paths = await support_1.fs.glob(`${CD_EXECUTABLE_PREFIX}*${pathSuffix}`, {
@@ -84,14 +85,14 @@ async function getChromedriverBinaryPath(osName = getOsName()) {
84
85
  });
85
86
  return lodash_1.default.isEmpty(paths)
86
87
  ? path_1.default.resolve(rootDir, `${CD_EXECUTABLE_PREFIX}${pathSuffix}`)
87
- : /** @type {string} */ (lodash_1.default.first(paths));
88
+ : lodash_1.default.first(paths);
88
89
  }
89
90
  /**
90
- *
91
- * @param {string} url
92
- * @param {import('axios').AxiosRequestConfig['headers']} headers
93
- * @param {Pick<import('axios').AxiosRequestConfig, 'timeout'|'responseType'>} opts
94
- * @returns
91
+ * Retrieves data from a URL using axios.
92
+ * @param url - The URL to fetch from.
93
+ * @param headers - Optional HTTP headers.
94
+ * @param opts - Optional configuration (timeout, responseType).
95
+ * @returns The response data.
95
96
  */
96
97
  async function retrieveData(url, headers, opts = {}) {
97
98
  const { timeout = 5000, responseType = 'text' } = opts;
@@ -103,9 +104,10 @@ async function retrieveData(url, headers, opts = {}) {
103
104
  })).data;
104
105
  }
105
106
  /**
106
- * @returns {keyof OS}
107
+ * Gets the OS name for the current system.
108
+ * @returns The OS name ('win', 'mac', or 'linux').
107
109
  */
108
- const getOsName = lodash_1.default.memoize(function getOsName() {
110
+ exports.getOsName = lodash_1.default.memoize(function getOsName() {
109
111
  if (support_1.system.isWindows()) {
110
112
  return constants_1.OS.WINDOWS;
111
113
  }
@@ -114,46 +116,41 @@ const getOsName = lodash_1.default.memoize(function getOsName() {
114
116
  }
115
117
  return constants_1.OS.LINUX;
116
118
  });
117
- exports.getOsName = getOsName;
118
- const getCpuType = lodash_1.default.memoize(
119
119
  /**
120
- * @returns {string}
120
+ * Gets the CPU type for the current system.
121
+ * @returns The CPU type ('intel' or 'arm').
121
122
  */
122
- function getCpuType() {
123
+ exports.getCpuType = lodash_1.default.memoize(function getCpuType() {
123
124
  return lodash_1.default.includes(lodash_1.default.toLower(os_1.default.cpus()[0].model), 'apple') ? constants_1.CPU.ARM : constants_1.CPU.INTEL;
124
125
  });
125
- exports.getCpuType = getCpuType;
126
- const getOsInfo = lodash_1.default.memoize(
127
126
  /**
128
- * @returns {Promise<import('./types').OSInfo>}
127
+ * Gets OS information including name, architecture, and CPU type.
128
+ * @returns A promise that resolves to OS information.
129
129
  */
130
- async function getOsInfo() {
130
+ exports.getOsInfo = lodash_1.default.memoize(async function getOsInfo() {
131
131
  return {
132
- name: getOsName(),
132
+ name: (0, exports.getOsName)(),
133
133
  arch: String(await support_1.system.arch()),
134
- cpu: getCpuType(),
134
+ cpu: (0, exports.getCpuType)(),
135
135
  };
136
136
  });
137
- exports.getOsInfo = getOsInfo;
138
137
  // @ts-expect-error to avoid error
139
138
  // TS2345: Argument of type '{}' is not assignable to parameter of type 'DriverOpts<Readonly<Record<string, Constraint>>>'
140
139
  // Type '{}' is missing the following properties from type 'ServerArgs': address, allowCors, allowInsecure, basePath, and 26 more.
141
140
  const getBaseDriverInstance = lodash_1.default.memoize(() => new base_driver_1.BaseDriver({}, false));
142
141
  /**
143
- * Generates log prefix string
144
- *
145
- * @param {any} obj log owner instance
146
- * @param {string?} sessionId Optional session identifier
147
- * @returns {string}
142
+ * Generates log prefix string.
143
+ * @param obj - Log owner instance.
144
+ * @param sessionId - Optional session identifier.
145
+ * @returns The generated log prefix string.
148
146
  */
149
147
  function generateLogPrefix(obj, sessionId = null) {
150
148
  return getBaseDriverInstance().helpers.generateDriverLogPrefix(obj, sessionId ? sessionId : undefined);
151
149
  }
152
150
  /**
153
- * Converts the given object to an integer number if possible
154
- *
155
- * @param {any} value to be converted
156
- * @returns {number | null}
151
+ * Converts the given object to an integer number if possible.
152
+ * @param value - The value to be converted.
153
+ * @returns The integer value or null if conversion is not possible.
157
154
  */
158
155
  function convertToInt(value) {
159
156
  switch (typeof value) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../lib/utils.ts"],"names":[],"mappings":"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"}