browserslist 4.19.2 → 4.20.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 (3) hide show
  1. package/index.d.ts +2 -0
  2. package/index.js +30 -25
  3. package/package.json +13 -7
package/index.d.ts CHANGED
@@ -102,6 +102,8 @@ declare namespace browserslist {
102
102
  | undefined
103
103
  }
104
104
 
105
+ let nodeVersions: string[]
106
+
105
107
  interface Usage {
106
108
  [version: string]: number
107
109
  }
package/index.js CHANGED
@@ -19,8 +19,8 @@ function isVersionsMatch(versionA, versionB) {
19
19
 
20
20
  function isEolReleased(name) {
21
21
  var version = name.slice(1)
22
- return jsReleases.some(function (i) {
23
- return isVersionsMatch(i.version, version)
22
+ return browserslist.nodeVersions.some(function (i) {
23
+ return isVersionsMatch(i, version)
24
24
  })
25
25
  }
26
26
 
@@ -617,11 +617,8 @@ browserslist.coverage = function (browsers, stats) {
617
617
  }
618
618
 
619
619
  function nodeQuery(context, version) {
620
- var nodeReleases = jsReleases.filter(function (i) {
621
- return i.name === 'nodejs'
622
- })
623
- var matched = nodeReleases.filter(function (i) {
624
- return isVersionsMatch(i.version, version)
620
+ var matched = browserslist.nodeVersions.filter(function (i) {
621
+ return isVersionsMatch(i, version)
625
622
  })
626
623
  if (matched.length === 0) {
627
624
  if (context.ignoreUnknownVersions) {
@@ -630,7 +627,7 @@ function nodeQuery(context, version) {
630
627
  throw new BrowserslistError('Unknown version ' + version + ' of Node.js')
631
628
  }
632
629
  }
633
- return ['node ' + matched[matched.length - 1].version]
630
+ return ['node ' + matched[matched.length - 1]]
634
631
  }
635
632
 
636
633
  function sinceQuery(context, year, month, date) {
@@ -716,6 +713,16 @@ var QUERIES = [
716
713
  })
717
714
  }
718
715
  },
716
+ {
717
+ regexp: /^last\s+(\d+)\s+node\s+major\s+versions?$/i,
718
+ select: function (context, versions) {
719
+ return getMajorVersions(browserslist.nodeVersions, versions).map(
720
+ function (version) {
721
+ return 'node ' + version
722
+ }
723
+ )
724
+ }
725
+ },
719
726
  {
720
727
  regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,
721
728
  select: function (context, versions, name) {
@@ -738,6 +745,14 @@ var QUERIES = [
738
745
  })
739
746
  }
740
747
  },
748
+ {
749
+ regexp: /^last\s+(\d+)\s+node\s+versions?$/i,
750
+ select: function (context, versions) {
751
+ return browserslist.nodeVersions.slice(-versions).map(function (version) {
752
+ return 'node ' + version
753
+ })
754
+ }
755
+ },
741
756
  {
742
757
  regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i,
743
758
  select: function (context, versions, name) {
@@ -980,14 +995,7 @@ var QUERIES = [
980
995
  {
981
996
  regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,
982
997
  select: function (context, from, to) {
983
- var nodeVersions = jsReleases
984
- .filter(function (i) {
985
- return i.name === 'nodejs'
986
- })
987
- .map(function (i) {
988
- return i.version
989
- })
990
- return nodeVersions
998
+ return browserslist.nodeVersions
991
999
  .filter(semverFilterLoose('>=', from))
992
1000
  .filter(semverFilterLoose('<=', to))
993
1001
  .map(function (v) {
@@ -1022,14 +1030,7 @@ var QUERIES = [
1022
1030
  {
1023
1031
  regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i,
1024
1032
  select: function (context, sign, version) {
1025
- var nodeVersions = jsReleases
1026
- .filter(function (i) {
1027
- return i.name === 'nodejs'
1028
- })
1029
- .map(function (i) {
1030
- return i.version
1031
- })
1032
- return nodeVersions
1033
+ return browserslist.nodeVersions
1033
1034
  .filter(generateSemverFilter(sign, version))
1034
1035
  .map(function (v) {
1035
1036
  return 'node ' + v
@@ -1054,7 +1055,7 @@ var QUERIES = [
1054
1055
  {
1055
1056
  regexp: /^(firefox|ff|fx)\s+esr$/i,
1056
1057
  select: function () {
1057
- return ['firefox 78', 'firefox 91']
1058
+ return ['firefox 91']
1058
1059
  }
1059
1060
  },
1060
1061
  {
@@ -1225,6 +1226,10 @@ var QUERIES = [
1225
1226
  }
1226
1227
 
1227
1228
  browserslist.versionAliases.op_mob['59'] = '58'
1229
+
1230
+ browserslist.nodeVersions = jsReleases.map(function (release) {
1231
+ return release.version
1232
+ })
1228
1233
  })()
1229
1234
 
1230
1235
  module.exports = browserslist
package/package.json CHANGED
@@ -1,22 +1,28 @@
1
1
  {
2
2
  "name": "browserslist",
3
- "version": "4.19.2",
3
+ "version": "4.20.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",
7
7
  "browsers",
8
8
  "target"
9
9
  ],
10
- "funding": {
11
- "type": "opencollective",
12
- "url": "https://opencollective.com/browserslist"
13
- },
10
+ "funding": [
11
+ {
12
+ "type": "opencollective",
13
+ "url": "https://opencollective.com/browserslist/"
14
+ },
15
+ {
16
+ "type": "tidelift",
17
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
18
+ }
19
+ ],
14
20
  "author": "Andrey Sitnik <andrey@sitnik.ru>",
15
21
  "license": "MIT",
16
22
  "repository": "browserslist/browserslist",
17
23
  "dependencies": {
18
- "caniuse-lite": "^1.0.30001312",
19
- "electron-to-chromium": "^1.4.71",
24
+ "caniuse-lite": "^1.0.30001317",
25
+ "electron-to-chromium": "^1.4.84",
20
26
  "escalade": "^3.1.1",
21
27
  "node-releases": "^2.0.2",
22
28
  "picocolors": "^1.0.0"