browserslist 4.21.7 → 4.21.9
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 +51 -46
- package/node.js +2 -1
- package/package.json +3 -3
package/index.d.ts
CHANGED
package/index.js
CHANGED
|
@@ -10,6 +10,7 @@ var env = require('./node') // Will load browser.js in webpack
|
|
|
10
10
|
|
|
11
11
|
var YEAR = 365.259641 * 24 * 60 * 60 * 1000
|
|
12
12
|
var ANDROID_EVERGREEN_FIRST = '37'
|
|
13
|
+
var OP_MOB_BLINK_FIRST = 14
|
|
13
14
|
|
|
14
15
|
// Helpers
|
|
15
16
|
|
|
@@ -223,21 +224,6 @@ function cloneData(data) {
|
|
|
223
224
|
}
|
|
224
225
|
}
|
|
225
226
|
|
|
226
|
-
function mapVersions(data, map) {
|
|
227
|
-
data.versions = data.versions.map(function (i) {
|
|
228
|
-
return map[i] || i
|
|
229
|
-
})
|
|
230
|
-
data.released = data.released.map(function (i) {
|
|
231
|
-
return map[i] || i
|
|
232
|
-
})
|
|
233
|
-
var fixedDate = {}
|
|
234
|
-
for (var i in data.releaseDate) {
|
|
235
|
-
fixedDate[map[i] || i] = data.releaseDate[i]
|
|
236
|
-
}
|
|
237
|
-
data.releaseDate = fixedDate
|
|
238
|
-
return data
|
|
239
|
-
}
|
|
240
|
-
|
|
241
227
|
function byName(name, context) {
|
|
242
228
|
name = name.toLowerCase()
|
|
243
229
|
name = browserslist.aliases[name] || name
|
|
@@ -248,9 +234,6 @@ function byName(name, context) {
|
|
|
248
234
|
} else {
|
|
249
235
|
var cloned = cloneData(desktop)
|
|
250
236
|
cloned.name = name
|
|
251
|
-
if (name === 'op_mob') {
|
|
252
|
-
cloned = mapVersions(cloned, { '10.0-10.1': '10' })
|
|
253
|
-
}
|
|
254
237
|
return cloned
|
|
255
238
|
}
|
|
256
239
|
}
|
|
@@ -292,14 +275,34 @@ function unknownQuery(query) {
|
|
|
292
275
|
)
|
|
293
276
|
}
|
|
294
277
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
var
|
|
299
|
-
|
|
278
|
+
// Adjusts last X versions queries for some mobile browsers,
|
|
279
|
+
// where caniuse data jumps from a legacy version to the latest
|
|
280
|
+
function filterJumps(list, name, nVersions, context) {
|
|
281
|
+
var jump = 1
|
|
282
|
+
switch (name) {
|
|
283
|
+
case 'android':
|
|
284
|
+
if (context.mobileToDesktop) return list
|
|
285
|
+
var released = browserslist.data.chrome.released
|
|
286
|
+
jump = released.length - released.indexOf(ANDROID_EVERGREEN_FIRST)
|
|
287
|
+
break
|
|
288
|
+
case 'op_mob':
|
|
289
|
+
var latest = browserslist.data.op_mob.released.slice(-1)[0]
|
|
290
|
+
jump = getMajor(latest) - OP_MOB_BLINK_FIRST + 1
|
|
291
|
+
break
|
|
292
|
+
default:
|
|
293
|
+
return list
|
|
294
|
+
}
|
|
295
|
+
if (nVersions <= jump) {
|
|
300
296
|
return list.slice(-1)
|
|
301
297
|
}
|
|
302
|
-
return list.slice(
|
|
298
|
+
return list.slice(jump - 1 - nVersions)
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
function isSupported(flags) {
|
|
302
|
+
return (
|
|
303
|
+
typeof flags === 'string' &&
|
|
304
|
+
(flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0)
|
|
305
|
+
)
|
|
303
306
|
}
|
|
304
307
|
|
|
305
308
|
function resolve(queries, context) {
|
|
@@ -461,11 +464,11 @@ browserslist.aliases = {
|
|
|
461
464
|
|
|
462
465
|
// Can I Use only provides a few versions for some browsers (e.g. and_chr).
|
|
463
466
|
// Fallback to a similar browser for unknown versions
|
|
467
|
+
// Note op_mob is not included as its chromium versions are not in sync with Opera desktop
|
|
464
468
|
browserslist.desktopNames = {
|
|
465
469
|
and_chr: 'chrome',
|
|
466
470
|
and_ff: 'firefox',
|
|
467
471
|
ie_mob: 'ie',
|
|
468
|
-
op_mob: 'opera',
|
|
469
472
|
android: 'chrome' // has extra processing logic
|
|
470
473
|
}
|
|
471
474
|
|
|
@@ -591,9 +594,7 @@ var QUERIES = {
|
|
|
591
594
|
if (!data) return selected
|
|
592
595
|
var list = getMajorVersions(data.released, node.versions)
|
|
593
596
|
list = list.map(nameMapper(data.name))
|
|
594
|
-
|
|
595
|
-
list = filterAndroid(list, node.versions, context)
|
|
596
|
-
}
|
|
597
|
+
list = filterJumps(list, data.name, node.versions, context)
|
|
597
598
|
return selected.concat(list)
|
|
598
599
|
}, [])
|
|
599
600
|
}
|
|
@@ -607,9 +608,7 @@ var QUERIES = {
|
|
|
607
608
|
if (!data) return selected
|
|
608
609
|
var list = data.released.slice(-node.versions)
|
|
609
610
|
list = list.map(nameMapper(data.name))
|
|
610
|
-
|
|
611
|
-
list = filterAndroid(list, node.versions, context)
|
|
612
|
-
}
|
|
611
|
+
list = filterJumps(list, data.name, node.versions, context)
|
|
613
612
|
return selected.concat(list)
|
|
614
613
|
}, [])
|
|
615
614
|
}
|
|
@@ -642,9 +641,7 @@ var QUERIES = {
|
|
|
642
641
|
var data = checkName(node.browser, context)
|
|
643
642
|
var validVersions = getMajorVersions(data.released, node.versions)
|
|
644
643
|
var list = validVersions.map(nameMapper(data.name))
|
|
645
|
-
|
|
646
|
-
list = filterAndroid(list, node.versions, context)
|
|
647
|
-
}
|
|
644
|
+
list = filterJumps(list, data.name, node.versions, context)
|
|
648
645
|
return list
|
|
649
646
|
}
|
|
650
647
|
},
|
|
@@ -676,9 +673,7 @@ var QUERIES = {
|
|
|
676
673
|
select: function (context, node) {
|
|
677
674
|
var data = checkName(node.browser, context)
|
|
678
675
|
var list = data.released.slice(-node.versions).map(nameMapper(data.name))
|
|
679
|
-
|
|
680
|
-
list = filterAndroid(list, node.versions, context)
|
|
681
|
-
}
|
|
676
|
+
list = filterJumps(list, data.name, node.versions, context)
|
|
682
677
|
return list
|
|
683
678
|
}
|
|
684
679
|
},
|
|
@@ -893,13 +888,25 @@ var QUERIES = {
|
|
|
893
888
|
select: function (context, node) {
|
|
894
889
|
env.loadFeature(browserslist.cache, node.feature)
|
|
895
890
|
var features = browserslist.cache[node.feature]
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
891
|
+
var result = []
|
|
892
|
+
for (var name in features) {
|
|
893
|
+
var data = byName(name, context)
|
|
894
|
+
// Only check desktop when latest released mobile has support
|
|
895
|
+
var checkDesktop =
|
|
896
|
+
context.mobileToDesktop &&
|
|
897
|
+
name in browserslist.desktopNames &&
|
|
898
|
+
isSupported(features[name][data.released.slice(-1)[0]])
|
|
899
|
+
data.versions.forEach(function (version) {
|
|
900
|
+
var flags = features[name][version]
|
|
901
|
+
if (flags === undefined && checkDesktop) {
|
|
902
|
+
flags = features[browserslist.desktopNames[name]][version]
|
|
903
|
+
}
|
|
904
|
+
if (isSupported(flags)) {
|
|
905
|
+
result.push(name + ' ' + version)
|
|
906
|
+
}
|
|
907
|
+
})
|
|
908
|
+
}
|
|
909
|
+
return result
|
|
903
910
|
}
|
|
904
911
|
},
|
|
905
912
|
electron_range: {
|
|
@@ -1181,8 +1188,6 @@ var QUERIES = {
|
|
|
1181
1188
|
}
|
|
1182
1189
|
}
|
|
1183
1190
|
|
|
1184
|
-
browserslist.versionAliases.op_mob['59'] = '58'
|
|
1185
|
-
|
|
1186
1191
|
browserslist.nodeVersions = jsReleases.map(function (release) {
|
|
1187
1192
|
return release.version
|
|
1188
1193
|
})
|
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.9",
|
|
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.30001503",
|
|
29
|
+
"electron-to-chromium": "^1.4.431",
|
|
30
30
|
"node-releases": "^2.0.12",
|
|
31
31
|
"update-browserslist-db": "^1.0.11"
|
|
32
32
|
},
|