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.
Files changed (2) hide show
  1. package/index.js +26 -15
  2. 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 coveraged = 0
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
- coveraged += usage[version]
627
+ covered += usage[version]
612
628
  result.push(version)
613
- if (coveraged >= coverage) break
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 stats = env.loadStat(context, node.config, browserslist.data)
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.24.5",
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.30001716",
29
- "electron-to-chromium": "^1.5.149",
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
  },