browserslist
Advanced tools
Comparing version 4.21.7 to 4.21.8
@@ -127,3 +127,5 @@ /** | ||
[feature: string]: { | ||
[name: string]: 'y' | 'n' | ||
[name: string]: { | ||
[version: string]: string | ||
} | ||
} | ||
@@ -130,0 +132,0 @@ } |
33
index.js
@@ -305,2 +305,9 @@ var jsReleases = require('node-releases/data/processed/envs.json') | ||
function isSupported(flags) { | ||
return ( | ||
typeof flags === 'string' && | ||
(flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0) | ||
) | ||
} | ||
function resolve(queries, context) { | ||
@@ -897,9 +904,21 @@ return parse(QUERIES, queries).reduce(function (result, node, index) { | ||
var features = browserslist.cache[node.feature] | ||
return Object.keys(features).reduce(function (result, version) { | ||
var flags = features[version] | ||
if (flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0) { | ||
result.push(version) | ||
} | ||
return result | ||
}, []) | ||
var result = [] | ||
for (var name in features) { | ||
var data = byName(name, context) | ||
// Only check desktop when latest released mobile has support | ||
var checkDesktop = | ||
context.mobileToDesktop && | ||
name in browserslist.desktopNames && | ||
isSupported(features[name][data.released.slice(-1)[0]]) | ||
data.versions.forEach(function (version) { | ||
var flags = features[name][version] | ||
if (flags === undefined && checkDesktop) { | ||
flags = features[browserslist.desktopNames[name]][version] | ||
} | ||
if (isSupported(flags)) { | ||
result.push(name + ' ' + version) | ||
} | ||
}) | ||
} | ||
return result | ||
} | ||
@@ -906,0 +925,0 @@ }, |
@@ -275,4 +275,5 @@ var feature = require('caniuse-lite/dist/unpacker/feature').default | ||
for (var i in stats) { | ||
features[name][i] = {} | ||
for (var j in stats[i]) { | ||
features[name][i + ' ' + j] = stats[i][j] | ||
features[name][i][j] = stats[i][j] | ||
} | ||
@@ -279,0 +280,0 @@ } |
{ | ||
"name": "browserslist", | ||
"version": "4.21.7", | ||
"version": "4.21.8", | ||
"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.30001489", | ||
"electron-to-chromium": "^1.4.411", | ||
"caniuse-lite": "^1.0.30001502", | ||
"electron-to-chromium": "^1.4.428", | ||
"node-releases": "^2.0.12", | ||
@@ -32,0 +32,0 @@ "update-browserslist-db": "^1.0.11" |
62107
1946
+ Addedelectron-to-chromium@1.4.752(transitive)
- Removedelectron-to-chromium@1.4.751(transitive)
- Removedescalade@3.1.2(transitive)
- Removedpicocolors@1.0.0(transitive)
- Removedupdate-browserslist-db@1.0.13(transitive)
Updatedcaniuse-lite@^1.0.30001502