browserslist
Advanced tools
Comparing version 4.21.8 to 4.21.9
64
index.js
@@ -13,2 +13,3 @@ var jsReleases = require('node-releases/data/processed/envs.json') | ||
var ANDROID_EVERGREEN_FIRST = '37' | ||
var OP_MOB_BLINK_FIRST = 14 | ||
@@ -227,17 +228,2 @@ // Helpers | ||
function mapVersions(data, map) { | ||
data.versions = data.versions.map(function (i) { | ||
return map[i] || i | ||
}) | ||
data.released = data.released.map(function (i) { | ||
return map[i] || i | ||
}) | ||
var fixedDate = {} | ||
for (var i in data.releaseDate) { | ||
fixedDate[map[i] || i] = data.releaseDate[i] | ||
} | ||
data.releaseDate = fixedDate | ||
return data | ||
} | ||
function byName(name, context) { | ||
@@ -253,5 +239,2 @@ name = name.toLowerCase() | ||
cloned.name = name | ||
if (name === 'op_mob') { | ||
cloned = mapVersions(cloned, { '10.0-10.1': '10' }) | ||
} | ||
return cloned | ||
@@ -298,10 +281,23 @@ } | ||
function filterAndroid(list, versions, context) { | ||
if (context.mobileToDesktop) return list | ||
var released = browserslist.data.chrome.released | ||
var nEvergreen = released.length - released.indexOf(ANDROID_EVERGREEN_FIRST) | ||
if (versions <= nEvergreen) { | ||
// Adjusts last X versions queries for some mobile browsers, | ||
// where caniuse data jumps from a legacy version to the latest | ||
function filterJumps(list, name, nVersions, context) { | ||
var jump = 1 | ||
switch (name) { | ||
case 'android': | ||
if (context.mobileToDesktop) return list | ||
var released = browserslist.data.chrome.released | ||
jump = released.length - released.indexOf(ANDROID_EVERGREEN_FIRST) | ||
break | ||
case 'op_mob': | ||
var latest = browserslist.data.op_mob.released.slice(-1)[0] | ||
jump = getMajor(latest) - OP_MOB_BLINK_FIRST + 1 | ||
break | ||
default: | ||
return list | ||
} | ||
if (nVersions <= jump) { | ||
return list.slice(-1) | ||
} | ||
return list.slice(nEvergreen - 1 - versions) | ||
return list.slice(jump - 1 - nVersions) | ||
} | ||
@@ -475,2 +471,3 @@ | ||
// Fallback to a similar browser for unknown versions | ||
// Note op_mob is not included as its chromium versions are not in sync with Opera desktop | ||
browserslist.desktopNames = { | ||
@@ -480,3 +477,2 @@ and_chr: 'chrome', | ||
ie_mob: 'ie', | ||
op_mob: 'opera', | ||
android: 'chrome' // has extra processing logic | ||
@@ -607,5 +603,3 @@ } | ||
list = list.map(nameMapper(data.name)) | ||
if (data.name === 'android') { | ||
list = filterAndroid(list, node.versions, context) | ||
} | ||
list = filterJumps(list, data.name, node.versions, context) | ||
return selected.concat(list) | ||
@@ -624,5 +618,3 @@ }, []) | ||
list = list.map(nameMapper(data.name)) | ||
if (data.name === 'android') { | ||
list = filterAndroid(list, node.versions, context) | ||
} | ||
list = filterJumps(list, data.name, node.versions, context) | ||
return selected.concat(list) | ||
@@ -660,5 +652,3 @@ }, []) | ||
var list = validVersions.map(nameMapper(data.name)) | ||
if (data.name === 'android') { | ||
list = filterAndroid(list, node.versions, context) | ||
} | ||
list = filterJumps(list, data.name, node.versions, context) | ||
return list | ||
@@ -695,5 +685,3 @@ } | ||
var list = data.released.slice(-node.versions).map(nameMapper(data.name)) | ||
if (data.name === 'android') { | ||
list = filterAndroid(list, node.versions, context) | ||
} | ||
list = filterJumps(list, data.name, node.versions, context) | ||
return list | ||
@@ -1213,4 +1201,2 @@ } | ||
browserslist.versionAliases.op_mob['59'] = '58' | ||
browserslist.nodeVersions = jsReleases.map(function (release) { | ||
@@ -1217,0 +1203,0 @@ return release.version |
{ | ||
"name": "browserslist", | ||
"version": "4.21.8", | ||
"version": "4.21.9", | ||
"description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset", | ||
@@ -28,4 +28,4 @@ "keywords": [ | ||
"dependencies": { | ||
"caniuse-lite": "^1.0.30001502", | ||
"electron-to-chromium": "^1.4.428", | ||
"caniuse-lite": "^1.0.30001503", | ||
"electron-to-chromium": "^1.4.431", | ||
"node-releases": "^2.0.12", | ||
@@ -32,0 +32,0 @@ "update-browserslist-db": "^1.0.11" |
61921
1934
+ Addedelectron-to-chromium@1.4.750(transitive)
- Removedcaniuse-lite@1.0.30001614(transitive)
- Removedelectron-to-chromium@1.4.751(transitive)
Updatedcaniuse-lite@^1.0.30001503