update-browserslist-db 1.0.2 → 1.0.5
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/check-npm-version.js +16 -0
- package/cli.js +1 -0
- package/index.js +32 -63
- package/package.json +4 -1
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
let { execSync } = require('child_process')
|
|
2
|
+
let pico = require('picocolors')
|
|
3
|
+
|
|
4
|
+
try {
|
|
5
|
+
let version = parseInt(execSync('npm -v'))
|
|
6
|
+
if (version <= 6) {
|
|
7
|
+
process.stderr.write(
|
|
8
|
+
pico.red(
|
|
9
|
+
'Update npm or call ' +
|
|
10
|
+
pico.yellow('npx browserslist@latest --update-db') +
|
|
11
|
+
'\n'
|
|
12
|
+
)
|
|
13
|
+
)
|
|
14
|
+
process.exit(1)
|
|
15
|
+
}
|
|
16
|
+
} catch (e) {}
|
package/cli.js
CHANGED
package/index.js
CHANGED
|
@@ -71,57 +71,33 @@ function getLatestInfo(lock) {
|
|
|
71
71
|
)
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
function
|
|
75
|
-
let
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
})
|
|
84
|
-
.reduce((result, entry) => {
|
|
85
|
-
if (!result[entry[0]]) {
|
|
86
|
-
result[entry[0]] = []
|
|
87
|
-
}
|
|
88
|
-
result[entry[0]].push(entry[1])
|
|
89
|
-
return result
|
|
90
|
-
}, {})
|
|
74
|
+
function getBrowsers() {
|
|
75
|
+
let browserslist = require('browserslist')
|
|
76
|
+
return browserslist().reduce((result, entry) => {
|
|
77
|
+
if (!result[entry[0]]) {
|
|
78
|
+
result[entry[0]] = []
|
|
79
|
+
}
|
|
80
|
+
result[entry[0]].push(entry[1])
|
|
81
|
+
return result
|
|
82
|
+
}, {})
|
|
91
83
|
}
|
|
92
84
|
|
|
93
|
-
function
|
|
85
|
+
function diffBrowsers(old, current) {
|
|
94
86
|
let browsers = Object.keys(old).concat(
|
|
95
|
-
Object.keys(current).filter(browser =>
|
|
96
|
-
return old[browser] === undefined
|
|
97
|
-
})
|
|
87
|
+
Object.keys(current).filter(browser => old[browser] === undefined)
|
|
98
88
|
)
|
|
99
89
|
return browsers
|
|
100
90
|
.map(browser => {
|
|
101
91
|
let oldVersions = old[browser] || []
|
|
102
92
|
let currentVersions = current[browser] || []
|
|
103
|
-
let
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
let removedVersions = oldVersions.filter(version => {
|
|
110
|
-
return intersection.indexOf(version) === -1
|
|
111
|
-
})
|
|
112
|
-
return removedVersions
|
|
113
|
-
.map(version => {
|
|
114
|
-
return pico.red('- ' + browser + ' ' + version)
|
|
115
|
-
})
|
|
116
|
-
.concat(
|
|
117
|
-
addedVersions.map(version => {
|
|
118
|
-
return pico.green('+ ' + browser + ' ' + version)
|
|
119
|
-
})
|
|
120
|
-
)
|
|
93
|
+
let common = oldVersions.filter(v => currentVersions.includes(v))
|
|
94
|
+
let added = currentVersions.filter(v => !common.includes(v))
|
|
95
|
+
let removed = oldVersions.filter(v => !common.includes(v))
|
|
96
|
+
return removed
|
|
97
|
+
.map(v => pico.red('- ' + browser + ' ' + v))
|
|
98
|
+
.concat(added.map(v => pico.green('+ ' + browser + ' ' + v)))
|
|
121
99
|
})
|
|
122
|
-
.reduce((result, array) =>
|
|
123
|
-
return result.concat(array)
|
|
124
|
-
}, [])
|
|
100
|
+
.reduce((result, array) => result.concat(array), [])
|
|
125
101
|
.join('\n')
|
|
126
102
|
}
|
|
127
103
|
|
|
@@ -177,11 +153,7 @@ function updateYarnLockfile(lock, latest) {
|
|
|
177
153
|
}
|
|
178
154
|
}
|
|
179
155
|
})
|
|
180
|
-
let content = blocks
|
|
181
|
-
.map(lines => {
|
|
182
|
-
return lines.join('\n')
|
|
183
|
-
})
|
|
184
|
-
.join('')
|
|
156
|
+
let content = blocks.map(lines => lines.join('\n')).join('')
|
|
185
157
|
return { content, versions }
|
|
186
158
|
}
|
|
187
159
|
|
|
@@ -278,12 +250,12 @@ module.exports = function updateDB(print = defaultPrint) {
|
|
|
278
250
|
let lock = detectLockfile()
|
|
279
251
|
let latest = getLatestInfo(lock)
|
|
280
252
|
|
|
281
|
-
let
|
|
282
|
-
let
|
|
253
|
+
let listError
|
|
254
|
+
let oldList
|
|
283
255
|
try {
|
|
284
|
-
|
|
256
|
+
oldList = getBrowsers()
|
|
285
257
|
} catch (e) {
|
|
286
|
-
|
|
258
|
+
listError = e
|
|
287
259
|
}
|
|
288
260
|
|
|
289
261
|
print('Latest version: ' + pico.bold(pico.green(latest.version)) + '\n')
|
|
@@ -298,33 +270,30 @@ module.exports = function updateDB(print = defaultPrint) {
|
|
|
298
270
|
|
|
299
271
|
print('caniuse-lite has been successfully updated\n')
|
|
300
272
|
|
|
301
|
-
let
|
|
302
|
-
if (!
|
|
273
|
+
let newList
|
|
274
|
+
if (!listError) {
|
|
303
275
|
try {
|
|
304
|
-
|
|
276
|
+
newList = getBrowsers()
|
|
305
277
|
} catch (e) /* c8 ignore start */ {
|
|
306
|
-
|
|
278
|
+
listError = e
|
|
307
279
|
} /* c8 ignore end */
|
|
308
280
|
}
|
|
309
281
|
|
|
310
|
-
if (
|
|
282
|
+
if (listError) {
|
|
311
283
|
print(
|
|
312
284
|
pico.red(
|
|
313
285
|
'\n' +
|
|
314
|
-
|
|
286
|
+
listError.stack +
|
|
315
287
|
'\n\n' +
|
|
316
288
|
'Problem with browser list retrieval.\n' +
|
|
317
289
|
'Target browser changes won’t be shown.\n'
|
|
318
290
|
)
|
|
319
291
|
)
|
|
320
292
|
} else {
|
|
321
|
-
let
|
|
322
|
-
|
|
323
|
-
currentBrowsersList
|
|
324
|
-
)
|
|
325
|
-
if (targetBrowserChanges) {
|
|
293
|
+
let changes = diffBrowsers(oldList, newList)
|
|
294
|
+
if (changes) {
|
|
326
295
|
print('\nTarget browser changes:\n')
|
|
327
|
-
print(
|
|
296
|
+
print(changes + '\n')
|
|
328
297
|
} else {
|
|
329
298
|
print('\n' + pico.green('No target browser changes') + '\n')
|
|
330
299
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "update-browserslist-db",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "CLI tool to update caniuse-lite to refresh target browsers from Browserslist config",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"caniuse",
|
|
@@ -29,6 +29,9 @@
|
|
|
29
29
|
"escalade": "^3.1.1",
|
|
30
30
|
"picocolors": "^1.0.0"
|
|
31
31
|
},
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"browserslist": ">= 4.21.0"
|
|
34
|
+
},
|
|
32
35
|
"bin": {
|
|
33
36
|
"browserslist-lint": "cli.js"
|
|
34
37
|
}
|