browserslist 2.10.2 → 2.11.0
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 +3 -0
- package/README.md +4 -4
- package/index.js +21 -8
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ It is used in:
|
|
|
8
8
|
|
|
9
9
|
* [Autoprefixer]
|
|
10
10
|
* [babel-preset-env]
|
|
11
|
-
(external config in `package.json` or `browserslist`
|
|
11
|
+
(external config in `package.json` or `browserslist` will be supported in 7.0)
|
|
12
12
|
* [postcss-preset-env]
|
|
13
13
|
* [eslint-plugin-compat]
|
|
14
14
|
* [stylelint-no-unsupported-browser-features]
|
|
@@ -69,7 +69,7 @@ You can test Browserslist queries in [online demo].
|
|
|
69
69
|
to match Browserslist target browsers query.
|
|
70
70
|
* [`caniuse-api`] returns browsers which support some specific feature.
|
|
71
71
|
* Run `npx browserslist` in your project directory to see project’s
|
|
72
|
-
target browsers. This CLI tool is built-in and available in
|
|
72
|
+
target browsers. This CLI tool is built-in and available in any project
|
|
73
73
|
with Autoprefixer.
|
|
74
74
|
|
|
75
75
|
[`browserslist-useragent`]: https://github.com/pastelsky/browserslist-useragent
|
|
@@ -109,8 +109,8 @@ You can specify the versions by queries (case insensitive):
|
|
|
109
109
|
alpha and beta versions.
|
|
110
110
|
* `last 2 major versions` or `last 2 iOS major versions`:
|
|
111
111
|
all minor/patch releases of last 2 major versions.
|
|
112
|
-
* `since
|
|
113
|
-
(also `since
|
|
112
|
+
* `since 2015` or `last 2 years`: all versions released since year 2015
|
|
113
|
+
(also `since 2015-03` and `since 2015-03-10`).
|
|
114
114
|
* `not ie <= 8`: exclude browsers selected by previous queries.
|
|
115
115
|
|
|
116
116
|
You can add `not ` to any query.
|
package/index.js
CHANGED
|
@@ -322,6 +322,17 @@ function loadCountryStatistics (country) {
|
|
|
322
322
|
}
|
|
323
323
|
}
|
|
324
324
|
|
|
325
|
+
function filterByYear (since) {
|
|
326
|
+
return Object.keys(agents).reduce(function (selected, name) {
|
|
327
|
+
var data = byName(name)
|
|
328
|
+
if (!data) return selected
|
|
329
|
+
var versions = Object.keys(data.releaseDate).filter(function (v) {
|
|
330
|
+
return data.releaseDate[v] >= since
|
|
331
|
+
})
|
|
332
|
+
return selected.concat(versions.map(nameMapper(data.name)))
|
|
333
|
+
}, [])
|
|
334
|
+
}
|
|
335
|
+
|
|
325
336
|
// Will be filled by Can I Use data below
|
|
326
337
|
browserslist.data = { }
|
|
327
338
|
browserslist.usage = {
|
|
@@ -580,6 +591,15 @@ var QUERIES = [
|
|
|
580
591
|
}).map(nameMapper(data.name))
|
|
581
592
|
}
|
|
582
593
|
},
|
|
594
|
+
{
|
|
595
|
+
regexp: /^last\s+(\d+)\s+years?$/i,
|
|
596
|
+
select: function (context, years) {
|
|
597
|
+
var date = new Date()
|
|
598
|
+
var since = date.setFullYear(date.getFullYear() - years) / 1000
|
|
599
|
+
|
|
600
|
+
return filterByYear(since)
|
|
601
|
+
}
|
|
602
|
+
},
|
|
583
603
|
{
|
|
584
604
|
regexp: /^since (\d+)(?:-(\d+))?(?:-(\d+))?$/i,
|
|
585
605
|
select: function (context, year, month, date) {
|
|
@@ -588,14 +608,7 @@ var QUERIES = [
|
|
|
588
608
|
date = parseInt(date || '01')
|
|
589
609
|
var since = Date.UTC(year, month, date, 0, 0, 0) / 1000
|
|
590
610
|
|
|
591
|
-
return
|
|
592
|
-
var data = byName(name)
|
|
593
|
-
if (!data) return selected
|
|
594
|
-
var versions = Object.keys(data.releaseDate).filter(function (v) {
|
|
595
|
-
return data.releaseDate[v] >= since
|
|
596
|
-
})
|
|
597
|
-
return selected.concat(versions.map(nameMapper(data.name)))
|
|
598
|
-
}, [])
|
|
611
|
+
return filterByYear(since)
|
|
599
612
|
}
|
|
600
613
|
},
|
|
601
614
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browserslist",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"caniuse",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"eslint-ci": "^0.1.1",
|
|
22
22
|
"eslint-config-logux": "^17.0.0",
|
|
23
23
|
"eslint-config-standard": "^10.2.1",
|
|
24
|
-
"eslint-plugin-es5": "^1.
|
|
24
|
+
"eslint-plugin-es5": "^1.2.0",
|
|
25
25
|
"eslint-plugin-import": "^2.8.0",
|
|
26
26
|
"eslint-plugin-jest": "^21.5.0",
|
|
27
27
|
"eslint-plugin-node": "^5.2.1",
|