appium-chromedriver 5.5.2 → 5.6.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 (47) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +14 -0
  3. package/build/lib/chromedriver.d.ts +1 -1
  4. package/build/lib/chromedriver.d.ts.map +1 -1
  5. package/build/lib/chromedriver.js +4 -4
  6. package/build/lib/chromedriver.js.map +1 -1
  7. package/build/lib/constants.d.ts +19 -0
  8. package/build/lib/constants.d.ts.map +1 -0
  9. package/build/lib/constants.js +26 -0
  10. package/build/lib/constants.js.map +1 -0
  11. package/build/lib/index.d.ts +1 -1
  12. package/build/lib/index.d.ts.map +1 -1
  13. package/build/lib/index.js +1 -1
  14. package/build/lib/index.js.map +1 -1
  15. package/build/lib/install.d.ts.map +1 -1
  16. package/build/lib/install.js +23 -8
  17. package/build/lib/install.js.map +1 -1
  18. package/build/lib/storage-client/chromelabs.d.ts +22 -0
  19. package/build/lib/storage-client/chromelabs.d.ts.map +1 -0
  20. package/build/lib/storage-client/chromelabs.js +148 -0
  21. package/build/lib/storage-client/chromelabs.js.map +1 -0
  22. package/build/lib/storage-client/googleapis.d.ts +32 -0
  23. package/build/lib/storage-client/googleapis.d.ts.map +1 -0
  24. package/build/lib/storage-client/googleapis.js +188 -0
  25. package/build/lib/storage-client/googleapis.js.map +1 -0
  26. package/build/lib/{storage-client.d.ts → storage-client/storage-client.d.ts} +14 -36
  27. package/build/lib/storage-client/storage-client.d.ts.map +1 -0
  28. package/build/lib/{storage-client.js → storage-client/storage-client.js} +105 -181
  29. package/build/lib/storage-client/storage-client.js.map +1 -0
  30. package/build/lib/types.d.ts +9 -3
  31. package/build/lib/types.d.ts.map +1 -1
  32. package/build/lib/utils.d.ts +6 -9
  33. package/build/lib/utils.d.ts.map +1 -1
  34. package/build/lib/utils.js +20 -21
  35. package/build/lib/utils.js.map +1 -1
  36. package/lib/chromedriver.js +4 -5
  37. package/lib/constants.js +24 -0
  38. package/lib/index.ts +1 -1
  39. package/lib/install.js +27 -10
  40. package/lib/storage-client/chromelabs.js +141 -0
  41. package/lib/storage-client/googleapis.js +209 -0
  42. package/lib/{storage-client.js → storage-client/storage-client.js} +124 -213
  43. package/lib/types.ts +9 -3
  44. package/lib/utils.js +20 -20
  45. package/package.json +2 -2
  46. package/build/lib/storage-client.d.ts.map +0 -1
  47. package/build/lib/storage-client.js.map +0 -1
package/lib/utils.js CHANGED
@@ -4,19 +4,9 @@ import {BaseDriver} from '@appium/base-driver';
4
4
  import path from 'path';
5
5
  import {compareVersions} from 'compare-versions';
6
6
  import axios from 'axios';
7
+ import os from 'os';
8
+ import {OS, CPU} from './constants';
7
9
 
8
- const CD_CDN =
9
- process.env.npm_config_chromedriver_cdnurl ||
10
- process.env.CHROMEDRIVER_CDNURL ||
11
- 'https://chromedriver.storage.googleapis.com';
12
- const OS = {
13
- linux: 'linux',
14
- windows: 'win',
15
- mac: 'mac',
16
- };
17
- const X64 = '64';
18
- const X86 = '32';
19
- const APPLE_ARM_SUFFIXES = ['64_m1', '_arm64'];
20
10
  const CD_EXECUTABLE_PREFIX = 'chromedriver';
21
11
  const MODULE_NAME = 'appium-chromedriver';
22
12
 
@@ -77,7 +67,7 @@ function getChromedriverDir(osName = getOsName()) {
77
67
  */
78
68
  async function getChromedriverBinaryPath(osName = getOsName()) {
79
69
  const rootDir = getChromedriverDir(osName);
80
- const pathSuffix = osName === OS.windows ? '.exe' : '';
70
+ const pathSuffix = osName === OS.WINDOWS ? '.exe' : '';
81
71
  const paths = await fs.glob(`${CD_EXECUTABLE_PREFIX}*${pathSuffix}`, {
82
72
  cwd: rootDir,
83
73
  absolute: true,
@@ -109,16 +99,28 @@ async function retrieveData(url, headers, opts = {}) {
109
99
  ).data;
110
100
  }
111
101
 
102
+ /**
103
+ * @returns {keyof OS}
104
+ */
112
105
  const getOsName = _.memoize(function getOsName() {
113
106
  if (system.isWindows()) {
114
- return OS.windows;
107
+ return OS.WINDOWS;
115
108
  }
116
109
  if (system.isMac()) {
117
- return OS.mac;
110
+ return OS.MAC;
118
111
  }
119
- return OS.linux;
112
+ return OS.LINUX;
120
113
  });
121
114
 
115
+ const getCpuType = _.memoize(
116
+ /**
117
+ * @returns {string}
118
+ */
119
+ function getCpuType() {
120
+ return _.includes(_.toLower(os.cpus()[0].model), 'apple') ? CPU.ARM : CPU.INTEL;
121
+ }
122
+ );
123
+
122
124
  const getOsInfo = _.memoize(
123
125
  /**
124
126
  * @returns {Promise<import('./types').OSInfo>}
@@ -127,6 +129,7 @@ const getOsInfo = _.memoize(
127
129
  return {
128
130
  name: getOsName(),
129
131
  arch: String(await system.arch()),
132
+ cpu: getCpuType(),
130
133
  };
131
134
  }
132
135
  );
@@ -175,16 +178,13 @@ export {
175
178
  getChromedriverBinaryPath,
176
179
  getOsName,
177
180
  CD_BASE_DIR,
178
- CD_CDN,
179
181
  CD_VER,
180
182
  CHROMEDRIVER_CHROME_MAPPING,
181
183
  getMostRecentChromedriver,
182
184
  retrieveData,
183
185
  getOsInfo,
186
+ getCpuType,
184
187
  OS,
185
- X64,
186
- X86,
187
- APPLE_ARM_SUFFIXES,
188
188
  generateLogPrefix,
189
189
  convertToInt,
190
190
  };
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "chrome",
7
7
  "android"
8
8
  ],
9
- "version": "5.5.2",
9
+ "version": "5.6.0",
10
10
  "author": "Appium Contributors",
11
11
  "license": "Apache-2.0",
12
12
  "repository": {
@@ -79,7 +79,7 @@
79
79
  "devDependencies": {
80
80
  "@appium/eslint-config-appium": "^8.0.0",
81
81
  "@appium/test-support": "^3.0.0",
82
- "@appium/tsconfig": "^0.2.4",
82
+ "@appium/tsconfig": "^0.3.0",
83
83
  "@semantic-release/changelog": "^6.0.1",
84
84
  "@semantic-release/git": "^10.0.1",
85
85
  "@types/bluebird": "^3.5.38",
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage-client.d.ts","sourceRoot":"","sources":["../../lib/storage-client.js"],"names":[],"mappings":"AAkFA;IACE;;;OAGG;IACH,mBAFW,OAAO,SAAS,EAAE,6BAA6B,EAQzD;IAJC,wBAAsC;IACtC,gBAAsB;IACtB,yCAAyC;IACzC,SADW,0BAA0B,CACpB;IAGnB;;;;;;OAMG;IACH,oBAHW,MAAM,GACJ,OAAO,SAAS,EAAE,uBAAuB,CAarD;IAED;;;;;;;;;OASG;IACH,wCALW,MAAM,YACN,MAAM,YACN,mBAAmB,iBAqB7B;IAED;;;;;;;;;OASG;IACH,qBANW,QAAQ,qBAER,OAAO,iBA0DjB;IAED;;;;;;;OAOG;IACH,mCALW,OAAO,GAGL,QAAQ,0BAA0B,CAAC,CAc/C;IAED;;;;;;OAMG;IACH,iBAHW,MAAM,OACN,MAAM,iBAwBhB;IAED;;;;;;;;;OASG;IACH,8BALW,MAAM,SACN,WAAW,GACT,aAAa,CAiFzB;IAED;;;;;;;;;;;;;;OAcG;IACH,sBAXW,MAAM,aACN,MAAM,gBACN,MAAM,aAEN,OAAO,GAIL,QAAQ,OAAO,CAAC,CA4C5B;IAED;;;;;;;;OAQG;IACH,mBALW,WAAW,GAGT,QAAQ,MAAM,EAAE,CAAC,CAqD7B;CACF;;0BAKY,OAAO,SAAS,EAAE,WAAW;qBAC7B,OAAO,SAAS,EAAE,MAAM;kCACxB,OAAO,SAAS,EAAE,mBAAmB;yCACrC,OAAO,SAAS,EAAE,0BAA0B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage-client.js","sourceRoot":"","sources":["../../lib/storage-client.js"],"names":[],"mappings":"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"}