browserslist 4.8.7 → 4.9.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/LICENSE +1 -1
- package/README.md +2 -0
- package/index.js +62 -0
- package/package.json +5 -9
package/CHANGELOG.md
CHANGED
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright 2014 Andrey Sitnik <andrey@sitnik.ru>
|
|
3
|
+
Copyright 2014 Andrey Sitnik <andrey@sitnik.ru> and other contributors
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
6
6
|
this software and associated documentation files (the "Software"), to deal in
|
package/README.md
CHANGED
|
@@ -91,12 +91,14 @@ Browserslist will take queries from tool option,
|
|
|
91
91
|
by user agent string to match Browserslist.
|
|
92
92
|
* [`browserslist-browserstack`] runs BrowserStack tests for all browsers
|
|
93
93
|
in Browserslist config.
|
|
94
|
+
* [`browserslist-adobe-analytics`] use Adobe Analytics data to target browsers.
|
|
94
95
|
* [`caniuse-api`] returns browsers which support some specific feature.
|
|
95
96
|
* Run `npx browserslist` in your project directory to see project’s
|
|
96
97
|
target browsers. This CLI tool is built-in and available in any project
|
|
97
98
|
with Autoprefixer.
|
|
98
99
|
|
|
99
100
|
[`browserslist-useragent-regexp`]: https://github.com/browserslist/browserslist-useragent-regexp
|
|
101
|
+
[`browserslist-adobe-analytics`]: https://github.com/xeroxinteractive/browserslist-adobe-analytics
|
|
100
102
|
[`browserslist-useragent-ruby`]: https://github.com/browserslist/browserslist-useragent-ruby
|
|
101
103
|
[`browserslist-browserstack`]: https://github.com/xeroxinteractive/browserslist-browserstack
|
|
102
104
|
[`browserslist-ga-export`]: https://github.com/browserslist/browserslist-ga-export
|
package/index.js
CHANGED
|
@@ -148,6 +148,43 @@ function compareSemver (a, b) {
|
|
|
148
148
|
)
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
+
// this follows the npm-like semver behavior
|
|
152
|
+
function semverFilterLoose (operator, range) {
|
|
153
|
+
range = range.split('.').map(parseSimpleInt)
|
|
154
|
+
if (typeof range[1] === 'undefined') {
|
|
155
|
+
range[1] = 'x'
|
|
156
|
+
}
|
|
157
|
+
// ignore any patch version because we only return minor versions
|
|
158
|
+
// range[2] = 'x'
|
|
159
|
+
switch (operator) {
|
|
160
|
+
case '<=':
|
|
161
|
+
return function (version) {
|
|
162
|
+
version = version.split('.').map(parseSimpleInt)
|
|
163
|
+
return compareSemverLoose(version, range) <= 0
|
|
164
|
+
}
|
|
165
|
+
default:
|
|
166
|
+
case '>=':
|
|
167
|
+
return function (version) {
|
|
168
|
+
version = version.split('.').map(parseSimpleInt)
|
|
169
|
+
return compareSemverLoose(version, range) >= 0
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// this follows the npm-like semver behavior
|
|
175
|
+
function compareSemverLoose (version, range) {
|
|
176
|
+
if (version[0] !== range[0]) {
|
|
177
|
+
return version[0] < range[0] ? -1 : +1
|
|
178
|
+
}
|
|
179
|
+
if (range[1] === 'x') {
|
|
180
|
+
return 0
|
|
181
|
+
}
|
|
182
|
+
if (version[1] !== range[1]) {
|
|
183
|
+
return version[1] < range[1] ? -1 : +1
|
|
184
|
+
}
|
|
185
|
+
return 0
|
|
186
|
+
}
|
|
187
|
+
|
|
151
188
|
function resolveVersion (data, version) {
|
|
152
189
|
if (data.versions.indexOf(version) !== -1) {
|
|
153
190
|
return version
|
|
@@ -870,6 +907,31 @@ var QUERIES = [
|
|
|
870
907
|
})
|
|
871
908
|
}
|
|
872
909
|
},
|
|
910
|
+
{
|
|
911
|
+
regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,
|
|
912
|
+
select: function (context, from, to) {
|
|
913
|
+
var nodeVersions = jsReleases.filter(function (i) {
|
|
914
|
+
return i.name === 'nodejs'
|
|
915
|
+
}).map(function (i) {
|
|
916
|
+
return i.version
|
|
917
|
+
})
|
|
918
|
+
var semverRegExp = /^(0|[1-9]\d*)(\.(0|[1-9]\d*)){0,2}$/
|
|
919
|
+
if (!semverRegExp.test(from)) {
|
|
920
|
+
throw new BrowserslistError(
|
|
921
|
+
'Unknown version ' + from + ' of Node.js')
|
|
922
|
+
}
|
|
923
|
+
if (!semverRegExp.test(to)) {
|
|
924
|
+
throw new BrowserslistError(
|
|
925
|
+
'Unknown version ' + to + ' of Node.js')
|
|
926
|
+
}
|
|
927
|
+
return nodeVersions
|
|
928
|
+
.filter(semverFilterLoose('>=', from))
|
|
929
|
+
.filter(semverFilterLoose('<=', to))
|
|
930
|
+
.map(function (v) {
|
|
931
|
+
return 'node ' + v
|
|
932
|
+
})
|
|
933
|
+
}
|
|
934
|
+
},
|
|
873
935
|
{
|
|
874
936
|
regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,
|
|
875
937
|
select: function (context, name, from, to) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browserslist",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.9.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",
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"repository": "browserslist/browserslist",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"caniuse-lite": "^1.0.
|
|
19
|
-
"electron-to-chromium": "^1.3.
|
|
20
|
-
"node-releases": "^1.1.
|
|
18
|
+
"caniuse-lite": "^1.0.30001030",
|
|
19
|
+
"electron-to-chromium": "^1.3.361",
|
|
20
|
+
"node-releases": "^1.1.50"
|
|
21
21
|
},
|
|
22
22
|
"bin": "./cli.js",
|
|
23
23
|
"browser": {
|
|
@@ -26,9 +26,5 @@
|
|
|
26
26
|
},
|
|
27
27
|
"eslintIgnore": [
|
|
28
28
|
"test/fixtures"
|
|
29
|
-
]
|
|
30
|
-
"sharec": {
|
|
31
|
-
"config": "@logux/sharec-config",
|
|
32
|
-
"version": "0.5.7"
|
|
33
|
-
}
|
|
29
|
+
]
|
|
34
30
|
}
|