browserslist 4.23.3 → 4.24.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/browser.js +2 -0
- package/cli.js +1 -1
- package/index.d.ts +2 -0
- package/index.js +4 -3
- package/node.js +38 -21
- package/package.json +3 -3
- package/parse.js +1 -1
package/browser.js
CHANGED
package/cli.js
CHANGED
package/index.d.ts
CHANGED
|
@@ -174,6 +174,8 @@ declare namespace browserslist {
|
|
|
174
174
|
|
|
175
175
|
function findConfig(...pathSegments: string[]): Config | undefined
|
|
176
176
|
|
|
177
|
+
function findConfigFile(...pathSegments: string[]): string | undefined
|
|
178
|
+
|
|
177
179
|
interface LoadConfigOptions {
|
|
178
180
|
config?: string
|
|
179
181
|
path?: string
|
package/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
var jsReleases = require('node-releases/data/processed/envs.json')
|
|
2
2
|
var agents = require('caniuse-lite/dist/unpacker/agents').agents
|
|
3
|
+
var e2c = require('electron-to-chromium/versions')
|
|
3
4
|
var jsEOL = require('node-releases/data/release-schedule/release-schedule.json')
|
|
4
5
|
var path = require('path')
|
|
5
|
-
var e2c = require('electron-to-chromium/versions')
|
|
6
6
|
|
|
7
7
|
var BrowserslistError = require('./error')
|
|
8
|
-
var
|
|
9
|
-
var
|
|
8
|
+
var env = require('./node')
|
|
9
|
+
var parse = require('./parse') // Will load browser.js in webpack
|
|
10
10
|
|
|
11
11
|
var YEAR = 365.259641 * 24 * 60 * 60 * 1000
|
|
12
12
|
var ANDROID_EVERGREEN_FIRST = '37'
|
|
@@ -491,6 +491,7 @@ browserslist.versionAliases = {}
|
|
|
491
491
|
browserslist.clearCaches = env.clearCaches
|
|
492
492
|
browserslist.parseConfig = env.parseConfig
|
|
493
493
|
browserslist.readConfig = env.readConfig
|
|
494
|
+
browserslist.findConfigFile = env.findConfigFile
|
|
494
495
|
browserslist.findConfig = env.findConfig
|
|
495
496
|
browserslist.loadConfig = env.loadConfig
|
|
496
497
|
|
package/node.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var feature = require('caniuse-lite/dist/unpacker/feature').default
|
|
2
2
|
var region = require('caniuse-lite/dist/unpacker/region').default
|
|
3
|
-
var path = require('path')
|
|
4
3
|
var fs = require('fs')
|
|
4
|
+
var path = require('path')
|
|
5
5
|
|
|
6
6
|
var BrowserslistError = require('./error')
|
|
7
7
|
|
|
@@ -126,6 +126,14 @@ function parsePackage(file) {
|
|
|
126
126
|
return list
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
+
function parsePackageOrReadConfig(file) {
|
|
130
|
+
if (path.basename(file) === 'package.json') {
|
|
131
|
+
return parsePackage(file)
|
|
132
|
+
} else {
|
|
133
|
+
return module.exports.readConfig(file)
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
129
137
|
function latestReleaseTime(agents) {
|
|
130
138
|
var latest = 0
|
|
131
139
|
for (var name in agents) {
|
|
@@ -237,11 +245,7 @@ module.exports = {
|
|
|
237
245
|
return process.env.BROWSERSLIST
|
|
238
246
|
} else if (opts.config || process.env.BROWSERSLIST_CONFIG) {
|
|
239
247
|
var file = opts.config || process.env.BROWSERSLIST_CONFIG
|
|
240
|
-
|
|
241
|
-
return pickEnv(parsePackage(file), opts)
|
|
242
|
-
} else {
|
|
243
|
-
return pickEnv(module.exports.readConfig(file), opts)
|
|
244
|
-
}
|
|
248
|
+
return pickEnv(parsePackageOrReadConfig(file), opts)
|
|
245
249
|
} else if (opts.path) {
|
|
246
250
|
return pickEnv(module.exports.findConfig(opts.path), opts)
|
|
247
251
|
} else {
|
|
@@ -330,17 +334,8 @@ module.exports = {
|
|
|
330
334
|
return module.exports.parseConfig(fs.readFileSync(file))
|
|
331
335
|
},
|
|
332
336
|
|
|
333
|
-
|
|
334
|
-
from = path.resolve(from)
|
|
335
|
-
|
|
336
|
-
var passed = []
|
|
337
|
+
findConfigFile: function findConfigFile(from) {
|
|
337
338
|
var resolved = eachParent(from, function (dir) {
|
|
338
|
-
if (dir in configCache) {
|
|
339
|
-
return configCache[dir]
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
passed.push(dir)
|
|
343
|
-
|
|
344
339
|
var config = path.join(dir, 'browserslist')
|
|
345
340
|
var pkg = path.join(dir, 'package.json')
|
|
346
341
|
var rc = path.join(dir, '.browserslistrc')
|
|
@@ -370,16 +365,38 @@ module.exports = {
|
|
|
370
365
|
dir + ' contains both .browserslistrc and browserslist'
|
|
371
366
|
)
|
|
372
367
|
} else if (isFile(config)) {
|
|
373
|
-
return
|
|
368
|
+
return config
|
|
374
369
|
} else if (isFile(rc)) {
|
|
375
|
-
return
|
|
376
|
-
} else {
|
|
377
|
-
return
|
|
370
|
+
return rc
|
|
371
|
+
} else if (pkgBrowserslist) {
|
|
372
|
+
return pkg
|
|
378
373
|
}
|
|
379
374
|
})
|
|
375
|
+
|
|
376
|
+
return resolved
|
|
377
|
+
},
|
|
378
|
+
|
|
379
|
+
findConfig: function findConfig(from) {
|
|
380
|
+
from = path.resolve(from)
|
|
381
|
+
|
|
382
|
+
var fromDir = isFile(from) ? path.dirname(from) : from
|
|
383
|
+
if (fromDir in configCache) {
|
|
384
|
+
return configCache[fromDir]
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
var resolved
|
|
388
|
+
var configFile = this.findConfigFile(from)
|
|
389
|
+
if (configFile) {
|
|
390
|
+
resolved = parsePackageOrReadConfig(configFile)
|
|
391
|
+
}
|
|
392
|
+
|
|
380
393
|
if (!process.env.BROWSERSLIST_DISABLE_CACHE) {
|
|
381
|
-
|
|
394
|
+
var configDir = configFile && path.dirname(configFile)
|
|
395
|
+
eachParent(from, function (dir) {
|
|
382
396
|
configCache[dir] = resolved
|
|
397
|
+
if (dir === configDir) {
|
|
398
|
+
return null
|
|
399
|
+
}
|
|
383
400
|
})
|
|
384
401
|
}
|
|
385
402
|
return resolved
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browserslist",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.24.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",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"repository": "browserslist/browserslist",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"caniuse-lite": "^1.0.
|
|
29
|
-
"electron-to-chromium": "^1.5.
|
|
28
|
+
"caniuse-lite": "^1.0.30001663",
|
|
29
|
+
"electron-to-chromium": "^1.5.28",
|
|
30
30
|
"node-releases": "^2.0.18",
|
|
31
31
|
"update-browserslist-db": "^1.1.0"
|
|
32
32
|
},
|
package/parse.js
CHANGED
|
@@ -9,7 +9,7 @@ function flatten(array) {
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
function find(string, predicate) {
|
|
12
|
-
for (var
|
|
12
|
+
for (var max = string.length, n = 1; n <= max; n++) {
|
|
13
13
|
var parsed = string.substr(-n, n)
|
|
14
14
|
if (predicate(parsed, n, max)) {
|
|
15
15
|
return string.slice(0, -n)
|