browserslist 4.21.6 → 4.21.8
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.
- package/index.d.ts +3 -1
- package/index.js +33 -17
- package/node.js +2 -1
- package/package.json +3 -3
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -9,7 +9,7 @@ var parse = require('./parse')
|
|
|
9
9
|
var env = require('./node') // Will load browser.js in webpack
|
|
10
10
|
|
|
11
11
|
var YEAR = 365.259641 * 24 * 60 * 60 * 1000
|
|
12
|
-
var ANDROID_EVERGREEN_FIRST = 37
|
|
12
|
+
var ANDROID_EVERGREEN_FIRST = '37'
|
|
13
13
|
|
|
14
14
|
// Helpers
|
|
15
15
|
|
|
@@ -258,13 +258,12 @@ function byName(name, context) {
|
|
|
258
258
|
}
|
|
259
259
|
|
|
260
260
|
function normalizeAndroidVersions(androidVersions, chromeVersions) {
|
|
261
|
-
var
|
|
262
|
-
var last = chromeVersions[chromeVersions.length - 1]
|
|
261
|
+
var iFirstEvergreen = chromeVersions.indexOf(ANDROID_EVERGREEN_FIRST)
|
|
263
262
|
return androidVersions
|
|
264
263
|
.filter(function (version) {
|
|
265
264
|
return /^(?:[2-4]\.|[34]$)/.test(version)
|
|
266
265
|
})
|
|
267
|
-
.concat(chromeVersions.slice(
|
|
266
|
+
.concat(chromeVersions.slice(iFirstEvergreen))
|
|
268
267
|
}
|
|
269
268
|
|
|
270
269
|
function normalizeAndroidData(android, chrome) {
|
|
@@ -295,14 +294,19 @@ function unknownQuery(query) {
|
|
|
295
294
|
|
|
296
295
|
function filterAndroid(list, versions, context) {
|
|
297
296
|
if (context.mobileToDesktop) return list
|
|
298
|
-
var released = browserslist.data.
|
|
299
|
-
var
|
|
300
|
-
|
|
301
|
-
if (diff > 0) {
|
|
297
|
+
var released = browserslist.data.chrome.released
|
|
298
|
+
var nEvergreen = released.length - released.indexOf(ANDROID_EVERGREEN_FIRST)
|
|
299
|
+
if (versions <= nEvergreen) {
|
|
302
300
|
return list.slice(-1)
|
|
303
|
-
} else {
|
|
304
|
-
return list.slice(diff - 1)
|
|
305
301
|
}
|
|
302
|
+
return list.slice(nEvergreen - 1 - versions)
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
function isSupported(flags) {
|
|
306
|
+
return (
|
|
307
|
+
typeof flags === 'string' &&
|
|
308
|
+
(flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0)
|
|
309
|
+
)
|
|
306
310
|
}
|
|
307
311
|
|
|
308
312
|
function resolve(queries, context) {
|
|
@@ -896,13 +900,25 @@ var QUERIES = {
|
|
|
896
900
|
select: function (context, node) {
|
|
897
901
|
env.loadFeature(browserslist.cache, node.feature)
|
|
898
902
|
var features = browserslist.cache[node.feature]
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
903
|
+
var result = []
|
|
904
|
+
for (var name in features) {
|
|
905
|
+
var data = byName(name, context)
|
|
906
|
+
// Only check desktop when latest released mobile has support
|
|
907
|
+
var checkDesktop =
|
|
908
|
+
context.mobileToDesktop &&
|
|
909
|
+
name in browserslist.desktopNames &&
|
|
910
|
+
isSupported(features[name][data.released.slice(-1)[0]])
|
|
911
|
+
data.versions.forEach(function (version) {
|
|
912
|
+
var flags = features[name][version]
|
|
913
|
+
if (flags === undefined && checkDesktop) {
|
|
914
|
+
flags = features[browserslist.desktopNames[name]][version]
|
|
915
|
+
}
|
|
916
|
+
if (isSupported(flags)) {
|
|
917
|
+
result.push(name + ' ' + version)
|
|
918
|
+
}
|
|
919
|
+
})
|
|
920
|
+
}
|
|
921
|
+
return result
|
|
906
922
|
}
|
|
907
923
|
},
|
|
908
924
|
electron_range: {
|
package/node.js
CHANGED
|
@@ -272,8 +272,9 @@ module.exports = {
|
|
|
272
272
|
var stats = feature(compressed).stats
|
|
273
273
|
features[name] = {}
|
|
274
274
|
for (var i in stats) {
|
|
275
|
+
features[name][i] = {}
|
|
275
276
|
for (var j in stats[i]) {
|
|
276
|
-
features[name][i
|
|
277
|
+
features[name][i][j] = stats[i][j]
|
|
277
278
|
}
|
|
278
279
|
}
|
|
279
280
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browserslist",
|
|
3
|
-
"version": "4.21.
|
|
3
|
+
"version": "4.21.8",
|
|
4
4
|
"description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"caniuse",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"repository": "browserslist/browserslist",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"caniuse-lite": "^1.0.
|
|
29
|
-
"electron-to-chromium": "^1.4.
|
|
28
|
+
"caniuse-lite": "^1.0.30001502",
|
|
29
|
+
"electron-to-chromium": "^1.4.428",
|
|
30
30
|
"node-releases": "^2.0.12",
|
|
31
31
|
"update-browserslist-db": "^1.0.11"
|
|
32
32
|
},
|