browserslist 3.2.6 → 4.0.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/CHANGELOG.md +21 -4
- package/README.md +44 -26
- package/browser.js +3 -1
- package/cli.js +2 -2
- package/index.js +42 -7
- package/node.js +39 -1
- package/package.json +6 -69
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
3
3
|
|
|
4
|
+
## 4.0.1
|
|
5
|
+
* Reduce npm package size.
|
|
6
|
+
* Fix docs.
|
|
7
|
+
|
|
8
|
+
## 4.0.0 “Erinaceus amurensis”
|
|
9
|
+
* Add `node X` and `maintained node versions` queries (by Pavel Vostrikov).
|
|
10
|
+
* Remove Node.js 4 support.
|
|
11
|
+
* Show warning if `caniuse-lite` is old (by Anton Tuzhik).
|
|
12
|
+
* Add comma support in config file.
|
|
13
|
+
|
|
14
|
+
## 3.2.8
|
|
15
|
+
* Add IE 9-5.5 to dead browsers.
|
|
16
|
+
* Remove development configs from npm package.
|
|
17
|
+
|
|
18
|
+
## 3.2.7
|
|
19
|
+
* Add Firefox 60 as Firefox ESR.
|
|
20
|
+
|
|
4
21
|
## 3.2.6
|
|
5
22
|
* Add Opera Mini 12 to dead browsers.
|
|
6
23
|
* Update docs (by Jamie Kyle).
|
|
@@ -38,7 +55,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
|
38
55
|
* Add `ignoreUnknownVersions` option.
|
|
39
56
|
* Fix docs (by Pascal Duez).
|
|
40
57
|
|
|
41
|
-
## 3.0
|
|
58
|
+
## 3.0 “Atelerix sclateri”
|
|
42
59
|
* Remove country statistics from client-side build of Browserslist.
|
|
43
60
|
* Change `> 1%` to `> 0.5%` in default query.
|
|
44
61
|
* Add `not dead` to default query.
|
|
@@ -139,7 +156,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
|
139
156
|
## 2.1
|
|
140
157
|
* Add `>= 5%`, `>= 5% in US` and `>= 5% in my stats` queries.
|
|
141
158
|
|
|
142
|
-
## 2.0
|
|
159
|
+
## 2.0 “Atelerix frontalis”
|
|
143
160
|
* `last n versions` returns versions for all browsers, not only main browsers.
|
|
144
161
|
* Cache file system operations (by Aarni Koskela).
|
|
145
162
|
* Use `caniuse-lite` 1 MB instead of `caniuse-db` 7 MB (by Ben Briggs).
|
|
@@ -238,7 +255,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
|
238
255
|
## 1.0.1
|
|
239
256
|
* Update Firefox ESR (by Rouven Weßling).
|
|
240
257
|
|
|
241
|
-
## 1.0
|
|
258
|
+
## 1.0 “Atelerix algirus”
|
|
242
259
|
* Remove Opera 12.1 from default query.
|
|
243
260
|
* Add `not` keyword and exclude browsers by query.
|
|
244
261
|
* Add Microsoft Edge support (by Andrey Polischuk).
|
|
@@ -277,5 +294,5 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
|
277
294
|
## 0.1.1
|
|
278
295
|
* Sort browsers by name and version.
|
|
279
296
|
|
|
280
|
-
## 0.1
|
|
297
|
+
## 0.1 “Atelerix albiventris”
|
|
281
298
|
* Initial release.
|
package/README.md
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
# Browserslist [![Cult Of Martians][cult-img]][cult]
|
|
2
2
|
|
|
3
|
-
<img
|
|
4
|
-
src="
|
|
3
|
+
<img width="120" height="120" alt="Browserslist logo by Anton Lovchikov"
|
|
4
|
+
src="http://browserslist.github.io/browserslist/logo.svg" align="right">
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
It is used in:
|
|
6
|
+
The config to share target browsers and Node.js versions between different
|
|
7
|
+
front-end tools. It is used in:
|
|
8
8
|
|
|
9
9
|
* [Autoprefixer]
|
|
10
|
-
* [
|
|
10
|
+
* [Babel]
|
|
11
11
|
(external config in `package.json` or `browserslist` will be supported in 7.0)
|
|
12
12
|
* [postcss-preset-env]
|
|
13
13
|
* [eslint-plugin-compat]
|
|
@@ -21,8 +21,10 @@ when you add the following to `package.json`:
|
|
|
21
21
|
```json
|
|
22
22
|
{
|
|
23
23
|
"browserslist": [
|
|
24
|
+
"last 1 version",
|
|
24
25
|
"> 1%",
|
|
25
|
-
"
|
|
26
|
+
"maintained node versions",
|
|
27
|
+
"not dead"
|
|
26
28
|
]
|
|
27
29
|
}
|
|
28
30
|
```
|
|
@@ -32,15 +34,17 @@ Or in `.browserslistrc` config:
|
|
|
32
34
|
```yaml
|
|
33
35
|
# Browsers that we support
|
|
34
36
|
|
|
37
|
+
last 1 version
|
|
35
38
|
> 1%
|
|
36
|
-
|
|
39
|
+
maintained node versions
|
|
40
|
+
not dead
|
|
37
41
|
```
|
|
38
42
|
|
|
39
|
-
Developers set
|
|
40
|
-
to be free from updating
|
|
43
|
+
Developers set versions list in queries like `last 2 version`
|
|
44
|
+
to be free from updating versions manually.
|
|
41
45
|
Browserslist will use [Can I Use] data for this queries.
|
|
42
46
|
|
|
43
|
-
Browserslist will take
|
|
47
|
+
Browserslist will take queries from tool option,
|
|
44
48
|
`browserslist` config, `.browserslistrc` config,
|
|
45
49
|
`browserslist` section in `package.json` or environment variables.
|
|
46
50
|
|
|
@@ -58,11 +62,11 @@ You can test Browserslist queries in [online demo].
|
|
|
58
62
|
[eslint-plugin-compat]: https://github.com/amilajack/eslint-plugin-compat
|
|
59
63
|
[Browserslist Example]: https://github.com/browserslist/browserslist-example
|
|
60
64
|
[postcss-preset-env]: https://github.com/jonathantneal/postcss-preset-env
|
|
61
|
-
[babel-preset-env]: https://github.com/babel/babel/tree/master/packages/babel-preset-env
|
|
62
65
|
[postcss-normalize]: https://github.com/jonathantneal/postcss-normalize
|
|
63
66
|
[Autoprefixer]: https://github.com/postcss/autoprefixer
|
|
64
67
|
[online demo]: http://browserl.ist/
|
|
65
68
|
[Can I Use]: http://caniuse.com/
|
|
69
|
+
[Babel]: https://github.com/babel/babel/tree/master/packages/babel-preset-env
|
|
66
70
|
|
|
67
71
|
## Tools
|
|
68
72
|
|
|
@@ -70,19 +74,23 @@ You can test Browserslist queries in [online demo].
|
|
|
70
74
|
to use it in `> 0.5% in my stats` query.
|
|
71
75
|
* [`browserslist-useragent`] checks browser by user agent string
|
|
72
76
|
to match Browserslist target browsers query.
|
|
77
|
+
* [`browserslist-useragent-ruby`] is a Ruby library to checks browser
|
|
78
|
+
by user agent string to match Browserslist.
|
|
73
79
|
* [`caniuse-api`] returns browsers which support some specific feature.
|
|
74
80
|
* Run `npx browserslist` in your project directory to see project’s
|
|
75
81
|
target browsers. This CLI tool is built-in and available in any project
|
|
76
82
|
with Autoprefixer.
|
|
77
83
|
|
|
78
|
-
[`browserslist-useragent`]: https://github.com/
|
|
79
|
-
[`browserslist-
|
|
80
|
-
[`
|
|
84
|
+
[`browserslist-useragent-ruby`]: https://github.com/browserslist/browserslist-useragent-ruby
|
|
85
|
+
[`browserslist-useragent`]: https://github.com/pastelsky/browserslist-useragent
|
|
86
|
+
[`browserslist-ga`]: https://github.com/browserslist/browserslist-ga
|
|
87
|
+
[`caniuse-api`]: https://github.com/Nyalab/caniuse-api
|
|
81
88
|
|
|
82
89
|
|
|
83
90
|
## Queries
|
|
84
91
|
|
|
85
|
-
Browserslist will use browsers
|
|
92
|
+
Browserslist will use browsers and Node.js versions query
|
|
93
|
+
from one of this sources:
|
|
86
94
|
|
|
87
95
|
1. Tool options. For example `browsers` option in Autoprefixer.
|
|
88
96
|
2. `BROWSERSLIST` environment variable.
|
|
@@ -97,25 +105,26 @@ Browserslist will use browsers query from one of this sources:
|
|
|
97
105
|
|
|
98
106
|
### Best Practices
|
|
99
107
|
|
|
100
|
-
* We do not recommend to changing the default set of browsers unless you
|
|
101
|
-
know what are you doing. Browserslist’s default browsers selection is a
|
|
102
|
-
result of many long discussions. It is easy to make mistake selecting own
|
|
103
|
-
browsers without understanding what are you doing (like accidentally making
|
|
104
|
-
your website inaccessible for Chinese users).
|
|
105
108
|
* Select browsers directly (`last 2 Chrome versions`) only if you are making
|
|
106
109
|
web app for kiosk with one browser. There are a lot browsers on the market.
|
|
107
110
|
If you are making general web app you should respect browsers diversity.
|
|
108
|
-
* If you want to change the default set of browsers we recommend
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
111
|
+
* If you want to change the default set of browsers we recommend to combine
|
|
112
|
+
`last 1 version`, `not dead` with `> 0.2%` (or `> 1% in US`,
|
|
113
|
+
`> 1% in my stats`). Just `last n versions` adds too many dead browsers
|
|
114
|
+
and does not add popular old versions. Just `> 0.2%` make popular browsers
|
|
115
|
+
even more popular, so we will have a monopoly and stagnation, as we had
|
|
116
|
+
with Internet Explorer 6.
|
|
117
|
+
* Don’t remove browsers just because you don’t know them. Opera Mini has
|
|
118
|
+
100 million users in Africa and it is more popular in global market,
|
|
119
|
+
than Microsoft Edge. Chinese QQ Browsers has more market share than Firefox
|
|
120
|
+
and desktop Safari altogether.
|
|
112
121
|
|
|
113
122
|
|
|
114
123
|
### Full List
|
|
115
124
|
|
|
116
|
-
You can specify the versions by queries (case insensitive):
|
|
125
|
+
You can specify the browser and Node.js versions by queries (case insensitive):
|
|
117
126
|
|
|
118
|
-
* `> 5%`: versions selected by global usage statistics.
|
|
127
|
+
* `> 5%`: browsers versions selected by global usage statistics.
|
|
119
128
|
`>=`, `<` and `<=` work too.
|
|
120
129
|
* `> 5% in US`: uses USA usage statistics. It accepts [two-letter country code].
|
|
121
130
|
* `> 5% in alt-AS`: uses Asia region usage statistics. List of all region codes
|
|
@@ -124,6 +133,10 @@ You can specify the versions by queries (case insensitive):
|
|
|
124
133
|
* `cover 99.5%`: most popular browsers that provide coverage.
|
|
125
134
|
* `cover 99.5% in US`: same as above, with [two-letter country code].
|
|
126
135
|
* `cover 99.5% in my stats`: uses [custom usage data].
|
|
136
|
+
* `maintained node versions`: all Node.js versions, which are [still maintained]
|
|
137
|
+
by Node.js Foundation.
|
|
138
|
+
* `node 10` and `node 10.4`: selects latest Node.js `10.x.x`
|
|
139
|
+
or `10.4.x` release.
|
|
127
140
|
* `extends browserslist-config-mycompany`: take queries from
|
|
128
141
|
`browserslist-config-mycompany` npm package.
|
|
129
142
|
* `ie 6-8`: selects an inclusive range of versions.
|
|
@@ -189,6 +202,7 @@ whereas `last 3 Chrome versions` might select `50, 49, 48` (major only).
|
|
|
189
202
|
[`caniuse-lite/data/regions`]: https://github.com/ben-eb/caniuse-lite/tree/master/data/regions
|
|
190
203
|
[two-letter country code]: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
|
|
191
204
|
[custom usage data]: #custom-usage-data
|
|
205
|
+
[still maintained]: https://github.com/nodejs/Release
|
|
192
206
|
[Can I Use]: http://caniuse.com/
|
|
193
207
|
|
|
194
208
|
|
|
@@ -208,6 +222,7 @@ Names are case insensitive:
|
|
|
208
222
|
* `Firefox` or `ff` for Mozilla Firefox.
|
|
209
223
|
* `FirefoxAndroid` or `and_ff` for Firefox for Android.
|
|
210
224
|
* `iOS` or `ios_saf` for iOS Safari.
|
|
225
|
+
* `Node` for Node.js.
|
|
211
226
|
* `Opera` for Opera.
|
|
212
227
|
* `OperaMini` or `op_mini` for Opera Mini.
|
|
213
228
|
* `OperaMobile` or `op_mob` for Opera Mobile.
|
|
@@ -229,6 +244,7 @@ browsers in `package.json` with `browserslist` key:
|
|
|
229
244
|
"autoprefixer": "^6.5.4"
|
|
230
245
|
},
|
|
231
246
|
"browserslist": [
|
|
247
|
+
"last 1 version",
|
|
232
248
|
"> 1%",
|
|
233
249
|
"IE 10"
|
|
234
250
|
]
|
|
@@ -244,6 +260,7 @@ and have browsers queries split by a new line. Comments starts with `#` symb
|
|
|
244
260
|
```yaml
|
|
245
261
|
# Browsers that we support
|
|
246
262
|
|
|
263
|
+
last 1 version
|
|
247
264
|
> 1%
|
|
248
265
|
IE 10 # sorry
|
|
249
266
|
```
|
|
@@ -293,6 +310,7 @@ When writing a shared Browserslist package, just export an array.
|
|
|
293
310
|
|
|
294
311
|
```js
|
|
295
312
|
module.exports = [
|
|
313
|
+
'last 1 version',
|
|
296
314
|
'> 1%',
|
|
297
315
|
'ie 10'
|
|
298
316
|
]
|
package/browser.js
CHANGED
package/cli.js
CHANGED
|
@@ -38,7 +38,7 @@ if (isArg('--help') || isArg('-h')) {
|
|
|
38
38
|
|
|
39
39
|
for (var i = 0; i < args.length; i++) {
|
|
40
40
|
if (args[i][0] !== '-') {
|
|
41
|
-
queries = args[i].replace(/^['
|
|
41
|
+
queries = args[i].replace(/^["']|["']$/g, '')
|
|
42
42
|
continue
|
|
43
43
|
}
|
|
44
44
|
|
|
@@ -46,7 +46,7 @@ if (isArg('--help') || isArg('-h')) {
|
|
|
46
46
|
var name = arg[0]
|
|
47
47
|
var value = arg[1]
|
|
48
48
|
|
|
49
|
-
if (value) value = value.replace(/^['
|
|
49
|
+
if (value) value = value.replace(/^["']|["']$/g, '')
|
|
50
50
|
|
|
51
51
|
if (name === '--config' || name === '-b') {
|
|
52
52
|
opts.config = value
|
package/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
var jsReleases = require('node-releases/data/processed/envs.json')
|
|
2
|
+
var agents = require('caniuse-lite/dist/unpacker/agents').agents
|
|
3
|
+
var jsEOL = require('node-releases/data/release-schedule/release-schedule.json')
|
|
1
4
|
var path = require('path')
|
|
2
5
|
var e2c = require('electron-to-chromium/versions')
|
|
3
6
|
|
|
4
|
-
var agents = require('caniuse-lite/dist/unpacker/agents').agents
|
|
5
|
-
|
|
6
7
|
var BrowserslistError = require('./error')
|
|
7
8
|
var env = require('./node') // Will load browser.js in webpack
|
|
8
9
|
|
|
@@ -140,7 +141,7 @@ function resolve (queries, context) {
|
|
|
140
141
|
var array = type.select.apply(browserslist, args)
|
|
141
142
|
if (isExclude) {
|
|
142
143
|
array = array.concat(array.map(function (j) {
|
|
143
|
-
return j.replace(/\s
|
|
144
|
+
return j.replace(/\s\S+/, ' 0')
|
|
144
145
|
}))
|
|
145
146
|
return result.filter(function (j) {
|
|
146
147
|
return array.indexOf(j) === -1
|
|
@@ -206,6 +207,7 @@ function browserslist (queries, opts) {
|
|
|
206
207
|
dangerousExtend: opts.dangerousExtend
|
|
207
208
|
}
|
|
208
209
|
|
|
210
|
+
env.oldDataWarning(browserslist.data)
|
|
209
211
|
var stats = env.getStat(opts)
|
|
210
212
|
if (stats) {
|
|
211
213
|
context.customUsage = { }
|
|
@@ -332,7 +334,7 @@ browserslist.coverage = function (browsers, stats) {
|
|
|
332
334
|
return browsers.reduce(function (all, i) {
|
|
333
335
|
var usage = data[i]
|
|
334
336
|
if (usage === undefined) {
|
|
335
|
-
usage = data[i.replace(/
|
|
337
|
+
usage = data[i.replace(/ \S+$/, ' 0')]
|
|
336
338
|
}
|
|
337
339
|
return all + (usage || 0)
|
|
338
340
|
}, 0)
|
|
@@ -648,7 +650,7 @@ var QUERIES = [
|
|
|
648
650
|
{
|
|
649
651
|
regexp: /^(firefox|ff|fx)\s+esr$/i,
|
|
650
652
|
select: function () {
|
|
651
|
-
return ['firefox 52']
|
|
653
|
+
return ['firefox 52', 'firefox 60']
|
|
652
654
|
}
|
|
653
655
|
},
|
|
654
656
|
{
|
|
@@ -668,6 +670,38 @@ var QUERIES = [
|
|
|
668
670
|
return ['chrome ' + chrome]
|
|
669
671
|
}
|
|
670
672
|
},
|
|
673
|
+
{
|
|
674
|
+
regexp: /^node\s+(\d+(\.\d+)?(\.\d+)?)$/i,
|
|
675
|
+
select: function (context, version) {
|
|
676
|
+
var nodeReleases = jsReleases.filter(function (i) {
|
|
677
|
+
return i.name === 'nodejs'
|
|
678
|
+
})
|
|
679
|
+
var matched = nodeReleases.filter(function (i) {
|
|
680
|
+
return (i.version + '.').indexOf(version + '.') === 0
|
|
681
|
+
})
|
|
682
|
+
if (matched.length === 0) {
|
|
683
|
+
if (context.ignoreUnknownVersions) {
|
|
684
|
+
return []
|
|
685
|
+
} else {
|
|
686
|
+
throw new BrowserslistError(
|
|
687
|
+
'Unknown version ' + version + ' of Node.js')
|
|
688
|
+
}
|
|
689
|
+
}
|
|
690
|
+
return ['node ' + matched[matched.length - 1].version]
|
|
691
|
+
}
|
|
692
|
+
},
|
|
693
|
+
{
|
|
694
|
+
regexp: /^maintained\s+node\s+versions$/i,
|
|
695
|
+
select: function (context) {
|
|
696
|
+
var now = Date.now()
|
|
697
|
+
var queries = Object.keys(jsEOL).filter(function (key) {
|
|
698
|
+
return now < Date.parse(jsEOL[key].end)
|
|
699
|
+
}).map(function (key) {
|
|
700
|
+
return 'node ' + key.slice(1)
|
|
701
|
+
})
|
|
702
|
+
return resolve(queries, context)
|
|
703
|
+
}
|
|
704
|
+
},
|
|
671
705
|
{
|
|
672
706
|
regexp: /^(\w+)\s+(tp|[\d.]+)$/i,
|
|
673
707
|
select: function (context, name, version) {
|
|
@@ -709,8 +743,9 @@ var QUERIES = [
|
|
|
709
743
|
},
|
|
710
744
|
{
|
|
711
745
|
regexp: /^dead$/i,
|
|
712
|
-
select: function () {
|
|
713
|
-
|
|
746
|
+
select: function (context) {
|
|
747
|
+
var dead = ['ie <= 10', 'ie_mob <= 10', 'bb <= 10', 'op_mob <= 12.1']
|
|
748
|
+
return resolve(dead, context)
|
|
714
749
|
}
|
|
715
750
|
},
|
|
716
751
|
{
|
package/node.js
CHANGED
|
@@ -7,9 +7,11 @@ var BrowserslistError = require('./error')
|
|
|
7
7
|
var IS_SECTION = /^\s*\[(.+)\]\s*$/
|
|
8
8
|
var CONFIG_PATTERN = /^browserslist-config-/
|
|
9
9
|
var SCOPED_CONFIG__PATTERN = /@[^./]+\/browserslist-config(-|$)/
|
|
10
|
+
var TIME_TO_UPDATE_CANIUSE = 6 * 30 * 24 * 60 * 60 * 1000
|
|
10
11
|
var FORMAT = 'Browserslist config should be a string or an array ' +
|
|
11
12
|
'of strings with browser queries'
|
|
12
13
|
|
|
14
|
+
var dataTimeChecked = false
|
|
13
15
|
var filenessCache = { }
|
|
14
16
|
var configCache = { }
|
|
15
17
|
|
|
@@ -96,6 +98,19 @@ function parsePackage (file) {
|
|
|
96
98
|
return list
|
|
97
99
|
}
|
|
98
100
|
|
|
101
|
+
function latestReleaseTime (agents) {
|
|
102
|
+
var latest = 0
|
|
103
|
+
for (var name in agents) {
|
|
104
|
+
var dates = agents[name].releaseDate || { }
|
|
105
|
+
for (var key in dates) {
|
|
106
|
+
if (latest < dates[key]) {
|
|
107
|
+
latest = dates[key]
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return latest * 1000
|
|
112
|
+
}
|
|
113
|
+
|
|
99
114
|
module.exports = {
|
|
100
115
|
loadQueries: function loadQueries (context, name) {
|
|
101
116
|
if (!context.dangerousExtend) checkExtend(name)
|
|
@@ -174,7 +189,7 @@ module.exports = {
|
|
|
174
189
|
|
|
175
190
|
string.toString()
|
|
176
191
|
.replace(/#[^\n]*/g, '')
|
|
177
|
-
.split(/\n
|
|
192
|
+
.split(/\n|,/)
|
|
178
193
|
.map(function (line) {
|
|
179
194
|
return line.trim()
|
|
180
195
|
})
|
|
@@ -256,7 +271,30 @@ module.exports = {
|
|
|
256
271
|
},
|
|
257
272
|
|
|
258
273
|
clearCaches: function clearCaches () {
|
|
274
|
+
dataTimeChecked = false
|
|
259
275
|
filenessCache = { }
|
|
260
276
|
configCache = { }
|
|
277
|
+
},
|
|
278
|
+
|
|
279
|
+
oldDataWarning: function oldDataWarning (agentsObj) {
|
|
280
|
+
if (dataTimeChecked) return
|
|
281
|
+
dataTimeChecked = true
|
|
282
|
+
|
|
283
|
+
var latest = latestReleaseTime(agentsObj)
|
|
284
|
+
var halfYearAgo = Date.now() - TIME_TO_UPDATE_CANIUSE
|
|
285
|
+
|
|
286
|
+
if (latest !== 0 && latest < halfYearAgo) {
|
|
287
|
+
var command = 'npm update'
|
|
288
|
+
eachParent(__filename, function (dir) {
|
|
289
|
+
var pckg = path.join(dir, 'package.json')
|
|
290
|
+
var yarnLock = path.join(dir, 'yarn.lock')
|
|
291
|
+
if (isFile(pckg) && isFile(yarnLock)) {
|
|
292
|
+
command = 'yarn upgrade'
|
|
293
|
+
}
|
|
294
|
+
})
|
|
295
|
+
console.warn(
|
|
296
|
+
'Browserslist: caniuse-lite is outdated. ' +
|
|
297
|
+
'Please run next command `' + command + ' caniuse-lite browserslist`')
|
|
298
|
+
}
|
|
261
299
|
}
|
|
262
300
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browserslist",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.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",
|
|
@@ -11,77 +11,14 @@
|
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"repository": "browserslist/browserslist",
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"caniuse-lite": "^1.0.
|
|
15
|
-
"electron-to-chromium": "^1.3.
|
|
14
|
+
"caniuse-lite": "^1.0.30000865",
|
|
15
|
+
"electron-to-chromium": "^1.3.52",
|
|
16
|
+
"node-releases": "^1.0.0-alpha.10"
|
|
16
17
|
},
|
|
17
18
|
"bin": "./cli.js",
|
|
18
|
-
"
|
|
19
|
-
"cross-spawn": "^6.0.5",
|
|
20
|
-
"eslint": "^4.19.1",
|
|
21
|
-
"eslint-ci": "^0.1.1",
|
|
22
|
-
"eslint-config-logux": "^21.0.0",
|
|
23
|
-
"eslint-config-standard": "^11.0.0",
|
|
24
|
-
"eslint-plugin-es5": "^1.3.1",
|
|
25
|
-
"eslint-plugin-import": "^2.11.0",
|
|
26
|
-
"eslint-plugin-jest": "^21.15.1",
|
|
27
|
-
"eslint-plugin-node": "^6.0.1",
|
|
28
|
-
"eslint-plugin-promise": "^3.7.0",
|
|
29
|
-
"eslint-plugin-security": "^1.4.0",
|
|
30
|
-
"eslint-plugin-standard": "^3.1.0",
|
|
31
|
-
"fs-extra": "^5.0.0",
|
|
32
|
-
"jest": "^22.4.3",
|
|
33
|
-
"lint-staged": "^7.0.4",
|
|
34
|
-
"pre-commit": "^1.1.3",
|
|
35
|
-
"size-limit": "^0.17.0",
|
|
36
|
-
"yaspeller-ci": "^1.0.0"
|
|
37
|
-
},
|
|
38
|
-
"eslintConfig": {
|
|
39
|
-
"extends": "eslint-config-logux/browser",
|
|
40
|
-
"rules": {
|
|
41
|
-
"security/detect-unsafe-regex": "off",
|
|
42
|
-
"global-require": "off"
|
|
43
|
-
},
|
|
44
|
-
"overrides": {
|
|
45
|
-
"files": [
|
|
46
|
-
"*.test.js"
|
|
47
|
-
],
|
|
48
|
-
"rules": {
|
|
49
|
-
"es5/no-arrow-functions": "off"
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
"jest": {
|
|
54
|
-
"testEnvironment": "node",
|
|
55
|
-
"coverageThreshold": {
|
|
56
|
-
"global": {
|
|
57
|
-
"statements": 100
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
"modulePathIgnorePatterns": [
|
|
61
|
-
"<rootDir>/test/fixtures"
|
|
62
|
-
]
|
|
63
|
-
},
|
|
64
|
-
"size-limit": [
|
|
65
|
-
{
|
|
66
|
-
"path": "index.js",
|
|
67
|
-
"limit": "7.2 KB"
|
|
68
|
-
}
|
|
69
|
-
],
|
|
70
|
-
"scripts": {
|
|
71
|
-
"lint-staged": "lint-staged",
|
|
72
|
-
"spellcheck": "yaspeller-ci README.md CHANGELOG.md",
|
|
73
|
-
"lint": "eslint-ci *.js test/*.js benchmark/*.js",
|
|
74
|
-
"test": "jest --coverage && yarn lint && yarn spellcheck && size-limit"
|
|
75
|
-
},
|
|
76
|
-
"lint-staged": {
|
|
77
|
-
"*.md": "yaspeller-ci",
|
|
78
|
-
"*.js": "eslint"
|
|
79
|
-
},
|
|
19
|
+
"scripts": {},
|
|
80
20
|
"browser": {
|
|
81
21
|
"./node.js": "./browser.js",
|
|
82
22
|
"path": false
|
|
83
|
-
}
|
|
84
|
-
"pre-commit": [
|
|
85
|
-
"lint-staged"
|
|
86
|
-
]
|
|
23
|
+
}
|
|
87
24
|
}
|