webdriver-manager
Advanced tools
Comparing version 12.1.6 to 12.1.7
@@ -5,3 +5,3 @@ { | ||
"chromedriver": "2.27", | ||
"maxChromedriver": "76", | ||
"maxChromedriver": "77", | ||
"geckodriver": "v0.13.0", | ||
@@ -8,0 +8,0 @@ "iedriver": "2.53.1", |
@@ -5,2 +5,3 @@ "use strict"; | ||
const config_1 = require("../config"); | ||
const http_utils_1 = require("../http_utils"); | ||
const config_source_1 = require("./config_source"); | ||
@@ -59,39 +60,5 @@ class ChromeXml extends config_source_1.XmlConfigSource { | ||
getLatestChromeDriverVersion() { | ||
return this.getVersionList().then(list => { | ||
let chromedriverVersion = null; | ||
let latest = ''; | ||
let latestVersion = ''; | ||
for (let item of list) { | ||
// Get a semantic version | ||
const version = item.split('/')[0]; | ||
if (semver.valid(version) == null) { | ||
const iterVersion = getValidSemver(version); | ||
if (!semver.valid(iterVersion)) { | ||
throw new Error('invalid Chromedriver version'); | ||
} | ||
// First time: use the version found. | ||
if (chromedriverVersion == null) { | ||
chromedriverVersion = iterVersion; | ||
latest = item; | ||
latestVersion = item.split('/')[0]; | ||
} | ||
else if (iterVersion.startsWith(this.maxVersion) && | ||
semver.gt(iterVersion, chromedriverVersion)) { | ||
// After the first time, make sure the semantic version is greater. | ||
chromedriverVersion = iterVersion; | ||
latest = item; | ||
latestVersion = item.split('/')[0]; | ||
} | ||
else if (iterVersion === chromedriverVersion) { | ||
// If the semantic version is the same, check os arch. | ||
// For 64-bit systems, prefer the 64-bit version. | ||
if (this.osarch === 'x64') { | ||
if (item.includes(this.getOsTypeName() + '64')) { | ||
latest = item; | ||
} | ||
} | ||
} | ||
} | ||
} | ||
return { url: config_1.Config.cdnUrls().chrome + latest, version: latestVersion }; | ||
const latestReleaseUrl = 'https://chromedriver.storage.googleapis.com/LATEST_RELEASE'; | ||
return http_utils_1.requestBody(latestReleaseUrl).then(latestVersion => { | ||
return this.getSpecificChromeDriverVersion(latestVersion); | ||
}); | ||
@@ -98,0 +65,0 @@ } |
@@ -22,1 +22,7 @@ /// <reference types="request" /> | ||
} | ||
/** | ||
* Request the body from the url. | ||
* @param requestUrl The request url. | ||
* @returns A promise string of the response body. | ||
*/ | ||
export declare function requestBody(requestUrl: string): Promise<string>; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const request = require("request"); | ||
const url = require("url"); | ||
@@ -87,2 +88,32 @@ const logger_1 = require("./cli/logger"); | ||
exports.HttpUtils = HttpUtils; | ||
/** | ||
* Request the body from the url. | ||
* @param requestUrl The request url. | ||
* @returns A promise string of the response body. | ||
*/ | ||
function requestBody(requestUrl) { | ||
const options = HttpUtils.initOptions(requestUrl); | ||
options.followRedirect = true; | ||
return new Promise((resolve, reject) => { | ||
const req = request(options); | ||
req.on('response', response => { | ||
if (response.statusCode === 200) { | ||
let output = ''; | ||
response.on('data', (data) => { | ||
output += data; | ||
}); | ||
response.on('end', () => { | ||
resolve(output); | ||
}); | ||
} | ||
else { | ||
reject(new Error('response status code is not 200')); | ||
} | ||
}); | ||
req.on('error', error => { | ||
reject(error); | ||
}); | ||
}); | ||
} | ||
exports.requestBody = requestBody; | ||
//# sourceMappingURL=http_utils.js.map |
{ | ||
"name": "webdriver-manager", | ||
"version": "12.1.6", | ||
"version": "12.1.7", | ||
"description": "A selenium server and browser driver manager for your end to end tests.", | ||
@@ -5,0 +5,0 @@ "scripts": { |
@@ -0,1 +1,10 @@ | ||
# 12.1.7 | ||
Updates to Chromedriver to the LATEST_RELEASE. This should work from here on in when Chrome is updated to a new version. | ||
- [64795b7](https://github.com/angular/webdriver-manager/commit/64795b753b3d00ad2d1f4ac98c531f9e147f3b3e) chore(chrome) get latest chromedriver from LATEST_RELEASE (#418) | ||
- changed the get latest chromedriver to use the URL getting the latest first, then downloading that specific version. | ||
- removed unused imports. | ||
# 12.1.6 | ||
@@ -2,0 +11,0 @@ |
@@ -5,3 +5,3 @@ { | ||
"chromedriver": "2.27", | ||
"maxChromedriver": "76", | ||
"maxChromedriver": "77", | ||
"geckodriver": "v0.13.0", | ||
@@ -8,0 +8,0 @@ "iedriver": "2.53.1", |
{ | ||
"name": "webdriver-manager", | ||
"version": "12.1.6", | ||
"version": "12.1.7", | ||
"description": "A selenium server and browser driver manager for your end to end tests.", | ||
@@ -5,0 +5,0 @@ "scripts": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
123
4626
350368