browserslist 4.8.3 → 4.8.7

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/CHANGELOG.md CHANGED
@@ -1,6 +1,19 @@
1
1
  # Change Log
2
2
  This project adheres to [Semantic Versioning](http://semver.org/).
3
3
 
4
+ ## 4.8.7
5
+ * Fix `last N major versions` (by Valeriy Trubachev).
6
+
7
+ ## 4.8.6
8
+ * Fix `Unknown version 10 of op_mob` error in `mobileToDesktop` option.
9
+
10
+ ## 4.8.5
11
+ * Fix `last N browsers` again after new `caniuse-db` API changes.
12
+
13
+ ## 4.8.4
14
+ * Fix released versions detection for queries like `last N browsers`.
15
+ * Add IE 11 Mobile to `dead` browsers.
16
+
4
17
  ## 4.8.3
5
18
  * Fix warning message (by Anton Ivanov).
6
19
 
package/README.md CHANGED
@@ -37,7 +37,7 @@ not IE_Mob 11
37
37
  maintained node versions
38
38
  ```
39
39
 
40
- Developers set versions list in queries like `last 2 version`
40
+ Developers set their version lists using queries like `last 2 version`
41
41
  to be free from updating versions manually.
42
42
  Browserslist will use [`caniuse-lite`] with [Can I Use] data for this queries.
43
43
 
@@ -116,9 +116,9 @@ Browserslist will take queries from tool option,
116
116
  ]
117
117
  ```
118
118
 
119
- * If you want to change the default set of browsers we recommend to combine
119
+ * If you want to change the default set of browsers, we recommend combining
120
120
  `last 2 versions`, `not dead` with a usage number like `> 0.2%`. This is
121
- because `last n versions` on its own does not add popular old versions while
121
+ because `last n versions` on its own does not add popular old versions, while
122
122
  only using a percentage above `0.2%` will in the long run make popular
123
123
  browsers even more popular. We might run into a monopoly and stagnation
124
124
  situation, as we had with Internet Explorer 6. Please use this setting
@@ -537,8 +537,8 @@ These browsers account for 83.1% of all users in custom statistics
537
537
 
538
538
  ## Environment Variables
539
539
 
540
- If some tool use Browserslist inside, you can change browsers settings
541
- by [environment variables]:
540
+ If a tool uses Browserslist inside, you can change the Browserslist settings
541
+ with [environment variables]:
542
542
 
543
543
  * `BROWSERSLIST` with browsers queries.
544
544
 
package/index.js CHANGED
@@ -53,7 +53,11 @@ function getMajor (version) {
53
53
 
54
54
  function getMajorVersions (released, number) {
55
55
  if (released.length === 0) return []
56
- var minimum = getMajor(released[released.length - 1]) - parseInt(number) + 1
56
+ var majorVersions = uniq(released.map(getMajor))
57
+ var minimum = majorVersions[majorVersions.length - number]
58
+ if (!minimum) {
59
+ return released
60
+ }
57
61
  var selected = []
58
62
  for (var i = released.length - 1; i >= 0; i--) {
59
63
  if (minimum > getMajor(released[i])) break
@@ -186,6 +190,21 @@ function cloneData (data) {
186
190
  }
187
191
  }
188
192
 
193
+ function mapVersions (data, map) {
194
+ data.versions = data.versions.map(function (i) {
195
+ return map[i] || i
196
+ })
197
+ data.released = data.versions.map(function (i) {
198
+ return map[i] || i
199
+ })
200
+ var fixedDate = { }
201
+ for (var i in data.releaseDate) {
202
+ fixedDate[map[i] || i] = data.releaseDate[i]
203
+ }
204
+ data.releaseDate = fixedDate
205
+ return data
206
+ }
207
+
189
208
  function byName (name, context) {
190
209
  name = name.toLowerCase()
191
210
  name = browserslist.aliases[name] || name
@@ -196,6 +215,9 @@ function byName (name, context) {
196
215
  } else {
197
216
  var cloned = cloneData(desktop)
198
217
  cloned.name = name
218
+ if (name === 'op_mob') {
219
+ cloned = mapVersions(cloned, { '10.0-10.1': '10' })
220
+ }
199
221
  return cloned
200
222
  }
201
223
  }
@@ -1021,7 +1043,8 @@ var QUERIES = [
1021
1043
  regexp: /^dead$/i,
1022
1044
  select: function (context) {
1023
1045
  var dead = [
1024
- 'ie <= 10', 'ie_mob <= 10',
1046
+ 'ie <= 10',
1047
+ 'ie_mob <= 11',
1025
1048
  'bb <= 10',
1026
1049
  'op_mob <= 12.1',
1027
1050
  'samsung 4'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "browserslist",
3
- "version": "4.8.3",
3
+ "version": "4.8.7",
4
4
  "description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset",
5
5
  "keywords": [
6
6
  "caniuse",
@@ -15,9 +15,9 @@
15
15
  "license": "MIT",
16
16
  "repository": "browserslist/browserslist",
17
17
  "dependencies": {
18
- "caniuse-lite": "^1.0.30001017",
19
- "electron-to-chromium": "^1.3.322",
20
- "node-releases": "^1.1.44"
18
+ "caniuse-lite": "^1.0.30001027",
19
+ "electron-to-chromium": "^1.3.349",
20
+ "node-releases": "^1.1.49"
21
21
  },
22
22
  "bin": "./cli.js",
23
23
  "browser": {
@@ -29,6 +29,6 @@
29
29
  ],
30
30
  "sharec": {
31
31
  "config": "@logux/sharec-config",
32
- "version": "0.5.6"
32
+ "version": "0.5.7"
33
33
  }
34
34
  }