browserslist 4.14.3 → 4.14.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 +16 -0
- package/index.js +3 -1
- package/package.json +11 -8
- package/update-db.js +122 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
3
3
|
|
|
4
|
+
## 4.14.7
|
|
5
|
+
* Fixed Yarn Workspaces support to `--update-db` (by Fausto Núñez Alberro).
|
|
6
|
+
* Added browser changes to `--update-db` (by @AleksandrSl).
|
|
7
|
+
* Added color output to `--update-db`.
|
|
8
|
+
* Updated `package.funding` to have link to our Open Collective.
|
|
9
|
+
|
|
10
|
+
## 4.14.6
|
|
11
|
+
* Fixed Yarn support in `--update-db` (by Ivan Storck).
|
|
12
|
+
* Fixed npm 7 support in `--update-db`.
|
|
13
|
+
|
|
14
|
+
## 4.14.5
|
|
15
|
+
* Fixed `last 2 electron versions` query (by Sergey Melyukov).
|
|
16
|
+
|
|
17
|
+
## 4.14.4
|
|
18
|
+
* Fixed `Unknown version 59 of op_mob` error.
|
|
19
|
+
|
|
4
20
|
## 4.14.3
|
|
5
21
|
* Update Firefox ESR.
|
|
6
22
|
|
package/index.js
CHANGED
|
@@ -668,7 +668,7 @@ var QUERIES = [
|
|
|
668
668
|
{
|
|
669
669
|
regexp: /^last\s+(\d+)\s+electron\s+versions?$/i,
|
|
670
670
|
select: function (context, versions) {
|
|
671
|
-
return Object.keys(e2c).
|
|
671
|
+
return Object.keys(e2c).slice(-versions).map(function (i) {
|
|
672
672
|
return 'chrome ' + e2c[i]
|
|
673
673
|
})
|
|
674
674
|
}
|
|
@@ -1169,6 +1169,8 @@ var QUERIES = [
|
|
|
1169
1169
|
}
|
|
1170
1170
|
}
|
|
1171
1171
|
}
|
|
1172
|
+
|
|
1173
|
+
browserslist.versionAliases.op_mob['59'] = '58'
|
|
1172
1174
|
}())
|
|
1173
1175
|
|
|
1174
1176
|
module.exports = browserslist
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browserslist",
|
|
3
|
-
"version": "4.14.
|
|
3
|
+
"version": "4.14.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",
|
|
@@ -8,22 +8,25 @@
|
|
|
8
8
|
"target"
|
|
9
9
|
],
|
|
10
10
|
"funding": {
|
|
11
|
-
"type": "
|
|
12
|
-
"url": "https://
|
|
11
|
+
"type": "opencollective",
|
|
12
|
+
"url": "https://opencollective.com/browserslist"
|
|
13
13
|
},
|
|
14
14
|
"author": "Andrey Sitnik <andrey@sitnik.ru>",
|
|
15
15
|
"license": "MIT",
|
|
16
16
|
"repository": "browserslist/browserslist",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"caniuse-lite": "^1.0.
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
18
|
+
"caniuse-lite": "^1.0.30001157",
|
|
19
|
+
"colorette": "^1.2.1",
|
|
20
|
+
"electron-to-chromium": "^1.3.591",
|
|
21
|
+
"escalade": "^3.1.1",
|
|
22
|
+
"node-releases": "^1.1.66"
|
|
22
23
|
},
|
|
23
24
|
"engines": {
|
|
24
25
|
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
|
|
25
26
|
},
|
|
26
|
-
"bin":
|
|
27
|
+
"bin": {
|
|
28
|
+
"browserslist": "cli.js"
|
|
29
|
+
},
|
|
27
30
|
"browser": {
|
|
28
31
|
"./node.js": "./browser.js",
|
|
29
32
|
"path": false
|
package/update-db.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
var childProcess = require('child_process')
|
|
2
|
+
var colorette = require('colorette')
|
|
2
3
|
var escalade = require('escalade/sync')
|
|
3
4
|
var path = require('path')
|
|
4
5
|
var fs = require('fs')
|
|
5
6
|
|
|
6
7
|
var BrowserslistError = require('./error')
|
|
7
8
|
|
|
9
|
+
var red = colorette.red
|
|
10
|
+
var bold = colorette.bold
|
|
11
|
+
var green = colorette.green
|
|
12
|
+
var yellow = colorette.yellow
|
|
13
|
+
|
|
8
14
|
function detectLockfile () {
|
|
9
15
|
var packageDir = escalade('.', function (dir, names) {
|
|
10
16
|
return names.indexOf('package.json') !== -1 ? dir : ''
|
|
@@ -53,10 +59,62 @@ function getCurrentVersion (lock) {
|
|
|
53
59
|
return null
|
|
54
60
|
}
|
|
55
61
|
|
|
56
|
-
function getLatestInfo () {
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
function getLatestInfo (lock) {
|
|
63
|
+
if (lock.mode !== 'yarn') {
|
|
64
|
+
return JSON.parse(
|
|
65
|
+
childProcess.execSync('npm show caniuse-lite --json').toString()
|
|
66
|
+
)
|
|
67
|
+
} else {
|
|
68
|
+
return JSON.parse(
|
|
69
|
+
childProcess.execSync('yarn info caniuse-lite --json').toString()
|
|
70
|
+
).data
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function getBrowsersList () {
|
|
75
|
+
return childProcess.execSync('npx browserslist').toString()
|
|
76
|
+
.trim()
|
|
77
|
+
.split('\n')
|
|
78
|
+
.map(function (line) {
|
|
79
|
+
return line.trim().split(' ')
|
|
80
|
+
})
|
|
81
|
+
.reduce(function (result, entry) {
|
|
82
|
+
if (!result[entry[0]]) {
|
|
83
|
+
result[entry[0]] = []
|
|
84
|
+
}
|
|
85
|
+
result[entry[0]].push(entry[1])
|
|
86
|
+
return result
|
|
87
|
+
}, {})
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function diffBrowsersLists (old, current) {
|
|
91
|
+
var browsers = Object.keys(old).concat(
|
|
92
|
+
Object.keys(current).filter(function (browser) {
|
|
93
|
+
return old[browser] === undefined
|
|
94
|
+
})
|
|
59
95
|
)
|
|
96
|
+
return browsers.map(function (browser) {
|
|
97
|
+
var oldVersions = old[browser] || []
|
|
98
|
+
var currentVersions = current[browser] || []
|
|
99
|
+
var intersection = oldVersions.filter(function (version) {
|
|
100
|
+
return currentVersions.indexOf(version) !== -1
|
|
101
|
+
})
|
|
102
|
+
var addedVersions = currentVersions.filter(function (version) {
|
|
103
|
+
return intersection.indexOf(version) === -1
|
|
104
|
+
})
|
|
105
|
+
var removedVersions = oldVersions.filter(function (version) {
|
|
106
|
+
return intersection.indexOf(version) === -1
|
|
107
|
+
})
|
|
108
|
+
return removedVersions.map(function (version) {
|
|
109
|
+
return red('- ' + browser + ' ' + version)
|
|
110
|
+
}).concat(addedVersions.map(function (version) {
|
|
111
|
+
return green('+ ' + browser + ' ' + version)
|
|
112
|
+
}))
|
|
113
|
+
})
|
|
114
|
+
.reduce(function (result, array) {
|
|
115
|
+
return result.concat(array)
|
|
116
|
+
}, [])
|
|
117
|
+
.join('\n')
|
|
60
118
|
}
|
|
61
119
|
|
|
62
120
|
function updateLockfile (lock, latest) {
|
|
@@ -119,29 +177,81 @@ module.exports = function updateDB (print) {
|
|
|
119
177
|
lock.content = fs.readFileSync(lock.file).toString()
|
|
120
178
|
|
|
121
179
|
var current = getCurrentVersion(lock)
|
|
122
|
-
var latest = getLatestInfo()
|
|
180
|
+
var latest = getLatestInfo(lock)
|
|
181
|
+
var browsersListRetrievalError
|
|
182
|
+
var oldBrowsersList
|
|
183
|
+
try {
|
|
184
|
+
oldBrowsersList = getBrowsersList()
|
|
185
|
+
} catch (e) {
|
|
186
|
+
browsersListRetrievalError = e
|
|
187
|
+
}
|
|
123
188
|
|
|
124
189
|
if (typeof current === 'string') {
|
|
125
|
-
print('Current version: ' + current + '\n')
|
|
190
|
+
print('Current version: ' + bold(red(current)) + '\n')
|
|
126
191
|
}
|
|
127
192
|
print(
|
|
128
|
-
'New version:
|
|
129
|
-
'Removing old caniuse-lite from lock file
|
|
193
|
+
'New version: ' + bold(green(latest.version)) + '\n' +
|
|
194
|
+
'Removing old caniuse-lite from lock file\n'
|
|
130
195
|
)
|
|
131
196
|
|
|
132
197
|
fs.writeFileSync(lock.file, updateLockfile(lock, latest))
|
|
133
198
|
|
|
199
|
+
var install = lock.mode === 'yarn' ? 'yarn add -W' : lock.mode + ' install'
|
|
134
200
|
print(
|
|
135
|
-
'Installing new caniuse-lite version
|
|
136
|
-
'$ ' +
|
|
201
|
+
'Installing new caniuse-lite version\n' +
|
|
202
|
+
yellow('$ ' + install + ' caniuse-lite') + '\n'
|
|
137
203
|
)
|
|
138
204
|
try {
|
|
139
|
-
childProcess.execSync(
|
|
205
|
+
childProcess.execSync(install + ' caniuse-lite')
|
|
140
206
|
} catch (e) /* istanbul ignore next */ {
|
|
141
|
-
print(
|
|
142
|
-
|
|
207
|
+
print(
|
|
208
|
+
red(
|
|
209
|
+
'\n' +
|
|
210
|
+
e.stack + '\n\n' +
|
|
211
|
+
'Problem with `' + install + ' caniuse-lite` call. ' +
|
|
212
|
+
'Run it manually.\n'
|
|
213
|
+
)
|
|
214
|
+
)
|
|
143
215
|
process.exit(1)
|
|
144
216
|
}
|
|
145
217
|
|
|
218
|
+
var del = lock.mode === 'yarn' ? 'yarn remove -W' : lock.mode + ' uninstall'
|
|
219
|
+
print(
|
|
220
|
+
'Cleaning package.json dependencies from caniuse-lite\n' +
|
|
221
|
+
yellow('$ ' + del + ' caniuse-lite') + '\n'
|
|
222
|
+
)
|
|
223
|
+
childProcess.execSync(del + ' caniuse-lite')
|
|
224
|
+
|
|
146
225
|
print('caniuse-lite has been successfully updated\n')
|
|
226
|
+
|
|
227
|
+
var currentBrowsersList
|
|
228
|
+
if (!browsersListRetrievalError) {
|
|
229
|
+
try {
|
|
230
|
+
currentBrowsersList = getBrowsersList()
|
|
231
|
+
} catch (e) /* istanbul ignore next */ {
|
|
232
|
+
browsersListRetrievalError = e
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
if (browsersListRetrievalError) {
|
|
237
|
+
print(
|
|
238
|
+
red(
|
|
239
|
+
'\n' +
|
|
240
|
+
browsersListRetrievalError.stack + '\n\n' +
|
|
241
|
+
'Problem with browsers list retrieval.\n' +
|
|
242
|
+
'Target browser changes won’t be shown.\n'
|
|
243
|
+
)
|
|
244
|
+
)
|
|
245
|
+
} else {
|
|
246
|
+
var targetBrowserChanges = diffBrowsersLists(
|
|
247
|
+
oldBrowsersList,
|
|
248
|
+
currentBrowsersList
|
|
249
|
+
)
|
|
250
|
+
if (targetBrowserChanges) {
|
|
251
|
+
print('\nTarget browser changes:\n')
|
|
252
|
+
print(targetBrowserChanges + '\n')
|
|
253
|
+
} else {
|
|
254
|
+
print('\n' + green('No target browser changes') + '\n')
|
|
255
|
+
}
|
|
256
|
+
}
|
|
147
257
|
}
|