browserslist 4.24.5 → 4.25.1
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 -15
- package/package.json +3 -3
package/index.js
CHANGED
|
@@ -458,6 +458,20 @@ function parseQueries(queries) {
|
|
|
458
458
|
return result
|
|
459
459
|
}
|
|
460
460
|
|
|
461
|
+
function loadCustomUsage(context, config) {
|
|
462
|
+
var stats = env.loadStat(context, config, browserslist.data)
|
|
463
|
+
if (stats) {
|
|
464
|
+
context.customUsage = {}
|
|
465
|
+
for (var browser in stats) {
|
|
466
|
+
fillUsage(context.customUsage, browser, stats[browser])
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
if (!context.customUsage) {
|
|
470
|
+
throw new BrowserslistError('Custom usage statistics was not provided')
|
|
471
|
+
}
|
|
472
|
+
return context.customUsage
|
|
473
|
+
}
|
|
474
|
+
|
|
461
475
|
browserslist.parse = function (queries, opts) {
|
|
462
476
|
opts = prepareOpts(opts)
|
|
463
477
|
queries = prepareQueries(queries, opts)
|
|
@@ -598,19 +612,21 @@ function coverQuery(context, node) {
|
|
|
598
612
|
env.loadCountry(browserslist.usage, place, browserslist.data)
|
|
599
613
|
usage = browserslist.usage[place]
|
|
600
614
|
}
|
|
615
|
+
} else if (node.config) {
|
|
616
|
+
usage = loadCustomUsage(context, node.config)
|
|
601
617
|
}
|
|
602
618
|
var versions = Object.keys(usage).sort(function (a, b) {
|
|
603
619
|
return usage[b] - usage[a]
|
|
604
620
|
})
|
|
605
|
-
var
|
|
621
|
+
var covered = 0
|
|
606
622
|
var result = []
|
|
607
623
|
var version
|
|
608
624
|
for (var i = 0; i < versions.length; i++) {
|
|
609
625
|
version = versions[i]
|
|
610
626
|
if (usage[version] === 0) break
|
|
611
|
-
|
|
627
|
+
covered += usage[version]
|
|
612
628
|
result.push(version)
|
|
613
|
-
if (
|
|
629
|
+
if (covered >= coverage) break
|
|
614
630
|
}
|
|
615
631
|
return result
|
|
616
632
|
}
|
|
@@ -829,17 +845,7 @@ var QUERIES = {
|
|
|
829
845
|
regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,
|
|
830
846
|
select: function (context, node) {
|
|
831
847
|
var popularity = parseFloat(node.popularity)
|
|
832
|
-
var
|
|
833
|
-
if (stats) {
|
|
834
|
-
context.customUsage = {}
|
|
835
|
-
for (var browser in stats) {
|
|
836
|
-
fillUsage(context.customUsage, browser, stats[browser])
|
|
837
|
-
}
|
|
838
|
-
}
|
|
839
|
-
if (!context.customUsage) {
|
|
840
|
-
throw new BrowserslistError('Custom usage statistics was not provided')
|
|
841
|
-
}
|
|
842
|
-
var usage = context.customUsage
|
|
848
|
+
var usage = loadCustomUsage(context, node.config)
|
|
843
849
|
return Object.keys(usage).reduce(function (result, version) {
|
|
844
850
|
var percentage = usage[version]
|
|
845
851
|
if (percentage == null) {
|
|
@@ -913,6 +919,11 @@ var QUERIES = {
|
|
|
913
919
|
regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/i,
|
|
914
920
|
select: coverQuery
|
|
915
921
|
},
|
|
922
|
+
cover_config: {
|
|
923
|
+
matches: ['coverage', 'config'],
|
|
924
|
+
regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/i,
|
|
925
|
+
select: coverQuery
|
|
926
|
+
},
|
|
916
927
|
supports: {
|
|
917
928
|
matches: ['supportType', 'feature'],
|
|
918
929
|
regexp: /^(?:(fully|partially)\s+)?supports\s+([\w-]+)$/,
|
|
@@ -1038,7 +1049,7 @@ var QUERIES = {
|
|
|
1038
1049
|
matches: [],
|
|
1039
1050
|
regexp: /^(firefox|ff|fx)\s+esr$/i,
|
|
1040
1051
|
select: function () {
|
|
1041
|
-
return ['firefox 128']
|
|
1052
|
+
return ['firefox 128', 'firefox 140']
|
|
1042
1053
|
}
|
|
1043
1054
|
},
|
|
1044
1055
|
opera_mini_all: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browserslist",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.25.1",
|
|
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.5.
|
|
28
|
+
"caniuse-lite": "^1.0.30001726",
|
|
29
|
+
"electron-to-chromium": "^1.5.173",
|
|
30
30
|
"node-releases": "^2.0.19",
|
|
31
31
|
"update-browserslist-db": "^1.1.3"
|
|
32
32
|
},
|