Skip to content

Instantly share code, notes, and snippets.

@patrickkettner
Created October 25, 2016 20:15
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save patrickkettner/89a0aa20dc86574df4f75aa75aa3fbe2 to your computer and use it in GitHub Desktop.
Save patrickkettner/89a0aa20dc86574df4f75aa75aa3fbe2 to your computer and use it in GitHub Desktop.
var browserslist = require('browserslist');
var request = require('sync-request');
var res = request('GET', 'https://saucelabs.com/rest/v1/info/browsers/webdriver');
function lookup(requestedBrowsers, cb) {
var result = {};
var sauce = JSON.parse(res.getBody().toString())
//console.log(sauce);
browserslist(requestedBrowsers)
.map((browser) => {
var data = browser.split(' ');
var name = data[0];
var ver = data[1];
switch (name) {
case 'edge':
name = 'microsoftedge';
break;
case 'ie':
name = 'internet explorer';
break;
case 'ie_mob':
case 'ios_saf':
return;
}
return {
base: 'SauceLabs',
browserName: name,
version: ver
};
})
.filter(b => !!b)
.filter((b) => sauce.some((sB) => sB.api_name === b.browserName && sB.short_version === b.version))
.forEach(b => result[`sl_${b.browserName}_${b.version}`] = b)
return result;
}
module.exports = lookup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment