browserslist 4.21.8 → 4.21.10
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.js +26 -40
- package/package.json +4 -4
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,27 @@ 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)
|
|
303
299
|
}
|
|
304
300
|
|
|
305
301
|
function isSupported(flags) {
|
|
@@ -468,11 +464,11 @@ browserslist.aliases = {
|
|
|
468
464
|
|
|
469
465
|
// Can I Use only provides a few versions for some browsers (e.g. and_chr).
|
|
470
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
|
|
471
468
|
browserslist.desktopNames = {
|
|
472
469
|
and_chr: 'chrome',
|
|
473
470
|
and_ff: 'firefox',
|
|
474
471
|
ie_mob: 'ie',
|
|
475
|
-
op_mob: 'opera',
|
|
476
472
|
android: 'chrome' // has extra processing logic
|
|
477
473
|
}
|
|
478
474
|
|
|
@@ -598,9 +594,7 @@ var QUERIES = {
|
|
|
598
594
|
if (!data) return selected
|
|
599
595
|
var list = getMajorVersions(data.released, node.versions)
|
|
600
596
|
list = list.map(nameMapper(data.name))
|
|
601
|
-
|
|
602
|
-
list = filterAndroid(list, node.versions, context)
|
|
603
|
-
}
|
|
597
|
+
list = filterJumps(list, data.name, node.versions, context)
|
|
604
598
|
return selected.concat(list)
|
|
605
599
|
}, [])
|
|
606
600
|
}
|
|
@@ -614,9 +608,7 @@ var QUERIES = {
|
|
|
614
608
|
if (!data) return selected
|
|
615
609
|
var list = data.released.slice(-node.versions)
|
|
616
610
|
list = list.map(nameMapper(data.name))
|
|
617
|
-
|
|
618
|
-
list = filterAndroid(list, node.versions, context)
|
|
619
|
-
}
|
|
611
|
+
list = filterJumps(list, data.name, node.versions, context)
|
|
620
612
|
return selected.concat(list)
|
|
621
613
|
}, [])
|
|
622
614
|
}
|
|
@@ -649,9 +641,7 @@ var QUERIES = {
|
|
|
649
641
|
var data = checkName(node.browser, context)
|
|
650
642
|
var validVersions = getMajorVersions(data.released, node.versions)
|
|
651
643
|
var list = validVersions.map(nameMapper(data.name))
|
|
652
|
-
|
|
653
|
-
list = filterAndroid(list, node.versions, context)
|
|
654
|
-
}
|
|
644
|
+
list = filterJumps(list, data.name, node.versions, context)
|
|
655
645
|
return list
|
|
656
646
|
}
|
|
657
647
|
},
|
|
@@ -683,9 +673,7 @@ var QUERIES = {
|
|
|
683
673
|
select: function (context, node) {
|
|
684
674
|
var data = checkName(node.browser, context)
|
|
685
675
|
var list = data.released.slice(-node.versions).map(nameMapper(data.name))
|
|
686
|
-
|
|
687
|
-
list = filterAndroid(list, node.versions, context)
|
|
688
|
-
}
|
|
676
|
+
list = filterJumps(list, data.name, node.versions, context)
|
|
689
677
|
return list
|
|
690
678
|
}
|
|
691
679
|
},
|
|
@@ -1013,7 +1001,7 @@ var QUERIES = {
|
|
|
1013
1001
|
matches: [],
|
|
1014
1002
|
regexp: /^(firefox|ff|fx)\s+esr$/i,
|
|
1015
1003
|
select: function () {
|
|
1016
|
-
return ['firefox 102']
|
|
1004
|
+
return ['firefox 102', 'firefox 115']
|
|
1017
1005
|
}
|
|
1018
1006
|
},
|
|
1019
1007
|
opera_mini_all: {
|
|
@@ -1200,8 +1188,6 @@ var QUERIES = {
|
|
|
1200
1188
|
}
|
|
1201
1189
|
}
|
|
1202
1190
|
|
|
1203
|
-
browserslist.versionAliases.op_mob['59'] = '58'
|
|
1204
|
-
|
|
1205
1191
|
browserslist.nodeVersions = jsReleases.map(function (release) {
|
|
1206
1192
|
return release.version
|
|
1207
1193
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browserslist",
|
|
3
|
-
"version": "4.21.
|
|
3
|
+
"version": "4.21.10",
|
|
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,9 +25,9 @@
|
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"repository": "browserslist/browserslist",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"caniuse-lite": "^1.0.
|
|
29
|
-
"electron-to-chromium": "^1.4.
|
|
30
|
-
"node-releases": "^2.0.
|
|
28
|
+
"caniuse-lite": "^1.0.30001517",
|
|
29
|
+
"electron-to-chromium": "^1.4.477",
|
|
30
|
+
"node-releases": "^2.0.13",
|
|
31
31
|
"update-browserslist-db": "^1.0.11"
|
|
32
32
|
},
|
|
33
33
|
"engines": {
|