browserslist 4.16.8 → 4.17.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/README.md +3 -0
- package/package.json +3 -3
- package/update-db.js +55 -20
package/README.md
CHANGED
|
@@ -98,6 +98,8 @@ Browserslist will take queries from tool option,
|
|
|
98
98
|
* [`browserslist-browserstack`] runs BrowserStack tests for all browsers
|
|
99
99
|
in Browserslist config.
|
|
100
100
|
* [`browserslist-adobe-analytics`] use Adobe Analytics data to target browsers.
|
|
101
|
+
* [`browserslist-new-relic`] generate a custom usage data file for Browserslist
|
|
102
|
+
from your New Relic Browser data.
|
|
101
103
|
* [`caniuse-api`] returns browsers which support some specific feature.
|
|
102
104
|
* Run `npx browserslist` in your project directory to see project’s
|
|
103
105
|
target browsers. This CLI tool is built-in and available in any project
|
|
@@ -110,6 +112,7 @@ Browserslist will take queries from tool option,
|
|
|
110
112
|
[`browserslist-ga-export`]: https://github.com/browserslist/browserslist-ga-export
|
|
111
113
|
[`browserslist-useragent`]: https://github.com/pastelsky/browserslist-useragent
|
|
112
114
|
[`browserslist-ga`]: https://github.com/browserslist/browserslist-ga
|
|
115
|
+
[`browserslist-new-relic`]: https://github.com/syntactic-salt/browserslist-new-relic
|
|
113
116
|
[`caniuse-api`]: https://github.com/Nyalab/caniuse-api
|
|
114
117
|
|
|
115
118
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browserslist",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.17.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.
|
|
18
|
+
"caniuse-lite": "^1.0.30001254",
|
|
19
19
|
"colorette": "^1.3.0",
|
|
20
|
-
"electron-to-chromium": "^1.3.
|
|
20
|
+
"electron-to-chromium": "^1.3.830",
|
|
21
21
|
"escalade": "^3.1.1",
|
|
22
22
|
"node-releases": "^1.1.75"
|
|
23
23
|
},
|
package/update-db.js
CHANGED
|
@@ -33,7 +33,10 @@ function detectLockfile () {
|
|
|
33
33
|
} else if (fs.existsSync(lockfileNpm)) {
|
|
34
34
|
return { mode: 'npm', file: lockfileNpm }
|
|
35
35
|
} else if (fs.existsSync(lockfileYarn)) {
|
|
36
|
-
|
|
36
|
+
var lock = { mode: 'yarn', file: lockfileYarn }
|
|
37
|
+
lock.content = fs.readFileSync(lock.file).toString()
|
|
38
|
+
lock.version = /# yarn lockfile v1/.test(lock.content) ? 1 : 2
|
|
39
|
+
return lock
|
|
37
40
|
} else if (fs.existsSync(lockfileShrinkwrap)) {
|
|
38
41
|
return { mode: 'npm', file: lockfileShrinkwrap }
|
|
39
42
|
}
|
|
@@ -44,9 +47,15 @@ function detectLockfile () {
|
|
|
44
47
|
|
|
45
48
|
function getLatestInfo (lock) {
|
|
46
49
|
if (lock.mode === 'yarn') {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
if (lock.version === 1) {
|
|
51
|
+
return JSON.parse(
|
|
52
|
+
childProcess.execSync('yarn info caniuse-lite --json').toString()
|
|
53
|
+
).data
|
|
54
|
+
} else {
|
|
55
|
+
return JSON.parse(
|
|
56
|
+
childProcess.execSync('yarn npm info caniuse-lite --json').toString()
|
|
57
|
+
)
|
|
58
|
+
}
|
|
50
59
|
}
|
|
51
60
|
return JSON.parse(
|
|
52
61
|
childProcess.execSync('npm show caniuse-lite --json').toString()
|
|
@@ -187,7 +196,7 @@ function updatePnpmLockfile (lock, latest) {
|
|
|
187
196
|
}
|
|
188
197
|
|
|
189
198
|
function updateLockfile (lock, latest) {
|
|
190
|
-
lock.content = fs.readFileSync(lock.file).toString()
|
|
199
|
+
if (!lock.content) lock.content = fs.readFileSync(lock.file).toString()
|
|
191
200
|
|
|
192
201
|
if (lock.mode === 'npm') {
|
|
193
202
|
return updateNpmLockfile(lock, latest)
|
|
@@ -197,21 +206,7 @@ function updateLockfile (lock, latest) {
|
|
|
197
206
|
return updatePnpmLockfile(lock, latest)
|
|
198
207
|
}
|
|
199
208
|
|
|
200
|
-
|
|
201
|
-
var lock = detectLockfile()
|
|
202
|
-
var latest = getLatestInfo(lock)
|
|
203
|
-
var browsersListRetrievalError
|
|
204
|
-
var oldBrowsersList
|
|
205
|
-
try {
|
|
206
|
-
oldBrowsersList = getBrowsersList()
|
|
207
|
-
} catch (e) {
|
|
208
|
-
browsersListRetrievalError = e
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
print(
|
|
212
|
-
'Latest version: ' + bold(green(latest.version)) + '\n'
|
|
213
|
-
)
|
|
214
|
-
|
|
209
|
+
function updatePackageManually (print, lock, latest) {
|
|
215
210
|
var lockfileData = updateLockfile(lock, latest)
|
|
216
211
|
var caniuseVersions = Object.keys(lockfileData.versions).sort()
|
|
217
212
|
if (caniuseVersions.length === 1 &&
|
|
@@ -260,6 +255,46 @@ module.exports = function updateDB (print) {
|
|
|
260
255
|
yellow('$ ' + del + ' caniuse-lite') + '\n'
|
|
261
256
|
)
|
|
262
257
|
childProcess.execSync(del + ' caniuse-lite')
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
module.exports = function updateDB (print) {
|
|
261
|
+
var lock = detectLockfile()
|
|
262
|
+
var latest = getLatestInfo(lock)
|
|
263
|
+
|
|
264
|
+
var browsersListRetrievalError
|
|
265
|
+
var oldBrowsersList
|
|
266
|
+
try {
|
|
267
|
+
oldBrowsersList = getBrowsersList()
|
|
268
|
+
} catch (e) {
|
|
269
|
+
browsersListRetrievalError = e
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
print(
|
|
273
|
+
'Latest version: ' + bold(green(latest.version)) + '\n'
|
|
274
|
+
)
|
|
275
|
+
|
|
276
|
+
if (lock.mode === 'yarn' && lock.version !== 1) {
|
|
277
|
+
var update = 'yarn up -R'
|
|
278
|
+
print(
|
|
279
|
+
'Updating caniuse-lite version\n' +
|
|
280
|
+
yellow('$ ' + update + ' caniuse-lite') + '\n'
|
|
281
|
+
)
|
|
282
|
+
try {
|
|
283
|
+
childProcess.execSync(update + ' caniuse-lite')
|
|
284
|
+
} catch (e) /* istanbul ignore next */ {
|
|
285
|
+
print(
|
|
286
|
+
red(
|
|
287
|
+
'\n' +
|
|
288
|
+
e.stack + '\n\n' +
|
|
289
|
+
'Problem with `' + update + ' caniuse-lite` call. ' +
|
|
290
|
+
'Run it manually.\n'
|
|
291
|
+
)
|
|
292
|
+
)
|
|
293
|
+
process.exit(1)
|
|
294
|
+
}
|
|
295
|
+
} else {
|
|
296
|
+
updatePackageManually(print, lock, latest)
|
|
297
|
+
}
|
|
263
298
|
|
|
264
299
|
print('caniuse-lite has been successfully updated\n')
|
|
265
300
|
|