Update checked-in dependencies
This commit is contained in:
parent
49f7b34c3d
commit
5261a1223f
1640 changed files with 174830 additions and 182292 deletions
16
node_modules/browserslist/README.md
generated
vendored
16
node_modules/browserslist/README.md
generated
vendored
|
|
@ -19,7 +19,7 @@ when you add the following to `package.json`:
|
|||
|
||||
```json
|
||||
"browserslist": [
|
||||
"defaults and supports es6-module",
|
||||
"defaults and fully supports es6-module",
|
||||
"maintained node versions"
|
||||
]
|
||||
```
|
||||
|
|
@ -29,7 +29,7 @@ Or in `.browserslistrc` config:
|
|||
```yaml
|
||||
# Browsers that we support
|
||||
|
||||
defaults and supports es6-module
|
||||
defaults and fully supports es6-module
|
||||
maintained node versions
|
||||
```
|
||||
|
||||
|
|
@ -46,15 +46,7 @@ You can check how config works at our playground: [`browsersl.ist`](https://brow
|
|||
<br>
|
||||
<br>
|
||||
<div align="center">
|
||||
<a href="https://evilmartians.com/?utm_source=browserslist">
|
||||
<img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg"
|
||||
alt="Sponsored by Evil Martians" width="236" height="54">
|
||||
</a>
|
||||
|
||||
<a href="https://cube.dev/?ref=eco-browserslist-github">
|
||||
<img src="https://user-images.githubusercontent.com/986756/154330861-d79ab8ec-aacb-4af8-9e17-1b28f1eccb01.svg"
|
||||
alt="Supported by Cube" width="227" height="46">
|
||||
</a>
|
||||
<a href="https://evilmartians.com/?utm_source=browserslist"><img src="https://evilmartians.com/badges/sponsored-by-evil-martians.svg" alt="Sponsored by Evil Martians" width="236" height="54"></a> <a href="https://cube.dev/?ref=eco-browserslist-github"><img src="https://user-images.githubusercontent.com/986756/154330861-d79ab8ec-aacb-4af8-9e17-1b28f1eccb01.svg" alt="Supported by Cube" width="227" height="46"></a>
|
||||
</div>
|
||||
|
||||
[stylelint-no-unsupported-browser-features]: https://github.com/ismay/stylelint-no-unsupported-browser-features
|
||||
|
|
@ -72,4 +64,4 @@ You can check how config works at our playground: [`browsersl.ist`](https://brow
|
|||
[cult]: https://cultofmartians.com/done.html
|
||||
|
||||
## Docs
|
||||
Read **[full docs](https://github.com/browserslist/browserslist#readme)** on GitHub.
|
||||
Read full docs **[here](https://github.com/browserslist/browserslist#readme)**.
|
||||
|
|
|
|||
6
node_modules/browserslist/browser.js
generated
vendored
6
node_modules/browserslist/browser.js
generated
vendored
|
|
@ -44,7 +44,11 @@ module.exports = {
|
|||
|
||||
findConfig: noop,
|
||||
|
||||
findConfigFile: noop,
|
||||
|
||||
clearCaches: noop,
|
||||
|
||||
oldDataWarning: noop
|
||||
oldDataWarning: noop,
|
||||
|
||||
env: {}
|
||||
}
|
||||
|
|
|
|||
9
node_modules/browserslist/cli.js
generated
vendored
9
node_modules/browserslist/cli.js
generated
vendored
|
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env node
|
||||
|
||||
var updateDb = require('update-browserslist-db')
|
||||
var fs = require('fs')
|
||||
var updateDb = require('update-browserslist-db')
|
||||
|
||||
var browserslist = require('./')
|
||||
var pkg = require('./package.json')
|
||||
|
|
@ -38,7 +38,12 @@ if (isArg('--help') || isArg('-h')) {
|
|||
} else if (isArg('--version') || isArg('-v')) {
|
||||
process.stdout.write('browserslist ' + pkg.version + '\n')
|
||||
} else if (isArg('--update-db')) {
|
||||
/* c8 ignore next 3 */
|
||||
/* c8 ignore next 8 */
|
||||
process.stdout.write(
|
||||
'The --update-db command is deprecated.\n' +
|
||||
'Please use npx update-browserslist-db@latest instead.\n'
|
||||
)
|
||||
process.stdout.write('Browserslist DB update will still be made.\n')
|
||||
updateDb(function (str) {
|
||||
process.stdout.write(str)
|
||||
})
|
||||
|
|
|
|||
32
node_modules/browserslist/index.d.ts
generated
vendored
32
node_modules/browserslist/index.d.ts
generated
vendored
|
|
@ -124,7 +124,9 @@ declare namespace browserslist {
|
|||
|
||||
let cache: {
|
||||
[feature: string]: {
|
||||
[name: string]: 'y' | 'n'
|
||||
[name: string]: {
|
||||
[version: string]: string
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -164,6 +166,17 @@ declare namespace browserslist {
|
|||
opts?: browserslist.Options
|
||||
): Query[]
|
||||
|
||||
/**
|
||||
* Return queries for specific file inside the project.
|
||||
*
|
||||
* ```js
|
||||
* browserslist.loadConfig({
|
||||
* file: process.cwd()
|
||||
* }) ?? browserslist.defaults
|
||||
* ```
|
||||
*/
|
||||
function loadConfig(options: LoadConfigOptions): string[] | undefined
|
||||
|
||||
function clearCaches(): void
|
||||
|
||||
function parseConfig(string: string): Config
|
||||
|
|
@ -172,13 +185,25 @@ declare namespace browserslist {
|
|||
|
||||
function findConfig(...pathSegments: string[]): Config | undefined
|
||||
|
||||
function findConfigFile(...pathSegments: string[]): string | undefined
|
||||
|
||||
interface LoadConfigOptions {
|
||||
/**
|
||||
* Path to config file
|
||||
* */
|
||||
config?: string
|
||||
|
||||
/**
|
||||
* Path to file inside the project to find Browserslist config
|
||||
* in closest folder
|
||||
*/
|
||||
path?: string
|
||||
|
||||
/**
|
||||
* Environment to choose part of config.
|
||||
*/
|
||||
env?: string
|
||||
}
|
||||
|
||||
function loadConfig(options: LoadConfigOptions): string[] | undefined
|
||||
}
|
||||
|
||||
declare global {
|
||||
|
|
@ -191,6 +216,7 @@ declare global {
|
|||
BROWSERSLIST_ENV?: string
|
||||
BROWSERSLIST_IGNORE_OLD_DATA?: string
|
||||
BROWSERSLIST_STATS?: string
|
||||
BROWSERSLIST_ROOT_PATH?: string
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
149
node_modules/browserslist/index.js
generated
vendored
149
node_modules/browserslist/index.js
generated
vendored
|
|
@ -1,15 +1,16 @@
|
|||
var jsReleases = require('node-releases/data/processed/envs.json')
|
||||
var agents = require('caniuse-lite/dist/unpacker/agents').agents
|
||||
var e2c = require('electron-to-chromium/versions')
|
||||
var jsEOL = require('node-releases/data/release-schedule/release-schedule.json')
|
||||
var path = require('path')
|
||||
var e2c = require('electron-to-chromium/versions')
|
||||
|
||||
var BrowserslistError = require('./error')
|
||||
var parse = require('./parse')
|
||||
var env = require('./node') // Will load browser.js in webpack
|
||||
var env = require('./node')
|
||||
var parse = require('./parse') // Will load browser.js in webpack
|
||||
|
||||
var YEAR = 365.259641 * 24 * 60 * 60 * 1000
|
||||
var ANDROID_EVERGREEN_FIRST = 37
|
||||
var ANDROID_EVERGREEN_FIRST = '37'
|
||||
var OP_MOB_BLINK_FIRST = 14
|
||||
|
||||
// Helpers
|
||||
|
||||
|
|
@ -81,11 +82,11 @@ function generateFilter(sign, version) {
|
|||
version = parseFloat(version)
|
||||
if (sign === '>') {
|
||||
return function (v) {
|
||||
return parseFloat(v) > version
|
||||
return parseLatestFloat(v) > version
|
||||
}
|
||||
} else if (sign === '>=') {
|
||||
return function (v) {
|
||||
return parseFloat(v) >= version
|
||||
return parseLatestFloat(v) >= version
|
||||
}
|
||||
} else if (sign === '<') {
|
||||
return function (v) {
|
||||
|
|
@ -96,6 +97,10 @@ function generateFilter(sign, version) {
|
|||
return parseFloat(v) <= version
|
||||
}
|
||||
}
|
||||
|
||||
function parseLatestFloat(v) {
|
||||
return parseFloat(v.split('-')[1] || v)
|
||||
}
|
||||
}
|
||||
|
||||
function generateSemverFilter(sign, version) {
|
||||
|
|
@ -223,21 +228,6 @@ function cloneData(data) {
|
|||
}
|
||||
}
|
||||
|
||||
function mapVersions(data, map) {
|
||||
data.versions = data.versions.map(function (i) {
|
||||
return map[i] || i
|
||||
})
|
||||
data.released = data.released.map(function (i) {
|
||||
return map[i] || i
|
||||
})
|
||||
var fixedDate = {}
|
||||
for (var i in data.releaseDate) {
|
||||
fixedDate[map[i] || i] = data.releaseDate[i]
|
||||
}
|
||||
data.releaseDate = fixedDate
|
||||
return data
|
||||
}
|
||||
|
||||
function byName(name, context) {
|
||||
name = name.toLowerCase()
|
||||
name = browserslist.aliases[name] || name
|
||||
|
|
@ -248,9 +238,6 @@ function byName(name, context) {
|
|||
} else {
|
||||
var cloned = cloneData(desktop)
|
||||
cloned.name = name
|
||||
if (name === 'op_mob') {
|
||||
cloned = mapVersions(cloned, { '10.0-10.1': '10' })
|
||||
}
|
||||
return cloned
|
||||
}
|
||||
}
|
||||
|
|
@ -258,18 +245,31 @@ function byName(name, context) {
|
|||
}
|
||||
|
||||
function normalizeAndroidVersions(androidVersions, chromeVersions) {
|
||||
var firstEvergreen = ANDROID_EVERGREEN_FIRST
|
||||
var last = chromeVersions[chromeVersions.length - 1]
|
||||
var iFirstEvergreen = chromeVersions.indexOf(ANDROID_EVERGREEN_FIRST)
|
||||
return androidVersions
|
||||
.filter(function (version) {
|
||||
return /^(?:[2-4]\.|[34]$)/.test(version)
|
||||
})
|
||||
.concat(chromeVersions.slice(firstEvergreen - last - 1))
|
||||
.concat(chromeVersions.slice(iFirstEvergreen))
|
||||
}
|
||||
|
||||
function copyObject(obj) {
|
||||
var copy = {}
|
||||
for (var key in obj) {
|
||||
copy[key] = obj[key]
|
||||
}
|
||||
return copy
|
||||
}
|
||||
|
||||
function normalizeAndroidData(android, chrome) {
|
||||
android.released = normalizeAndroidVersions(android.released, chrome.released)
|
||||
android.versions = normalizeAndroidVersions(android.versions, chrome.versions)
|
||||
android.releaseDate = copyObject(android.releaseDate)
|
||||
android.released.forEach(function (v) {
|
||||
if (android.releaseDate[v] === undefined) {
|
||||
android.releaseDate[v] = chrome.releaseDate[v]
|
||||
}
|
||||
})
|
||||
return android
|
||||
}
|
||||
|
||||
|
|
@ -288,16 +288,34 @@ function unknownQuery(query) {
|
|||
)
|
||||
}
|
||||
|
||||
function filterAndroid(list, versions, context) {
|
||||
if (context.mobileToDesktop) return list
|
||||
var released = browserslist.data.android.released
|
||||
var last = released[released.length - 1]
|
||||
var diff = last - ANDROID_EVERGREEN_FIRST - versions
|
||||
if (diff > 0) {
|
||||
return list.slice(-1)
|
||||
} else {
|
||||
return list.slice(diff - 1)
|
||||
// Adjusts last X versions queries for some mobile browsers,
|
||||
// where caniuse data jumps from a legacy version to the latest
|
||||
function filterJumps(list, name, nVersions, context) {
|
||||
var jump = 1
|
||||
switch (name) {
|
||||
case 'android':
|
||||
if (context.mobileToDesktop) return list
|
||||
var released = browserslist.data.chrome.released
|
||||
jump = released.length - released.indexOf(ANDROID_EVERGREEN_FIRST)
|
||||
break
|
||||
case 'op_mob':
|
||||
var latest = browserslist.data.op_mob.released.slice(-1)[0]
|
||||
jump = getMajor(latest) - OP_MOB_BLINK_FIRST + 1
|
||||
break
|
||||
default:
|
||||
return list
|
||||
}
|
||||
if (nVersions <= jump) {
|
||||
return list.slice(-1)
|
||||
}
|
||||
return list.slice(jump - 1 - nVersions)
|
||||
}
|
||||
|
||||
function isSupported(flags, withPartial) {
|
||||
return (
|
||||
typeof flags === 'string' &&
|
||||
(flags.indexOf('y') >= 0 || (withPartial && flags.indexOf('a') >= 0))
|
||||
)
|
||||
}
|
||||
|
||||
function resolve(queries, context) {
|
||||
|
|
@ -417,7 +435,7 @@ function browserslist(queries, opts) {
|
|||
return compare(name1[0], name2[0])
|
||||
}
|
||||
})
|
||||
if (!process.env.BROWSERSLIST_DISABLE_CACHE) {
|
||||
if (!env.env.BROWSERSLIST_DISABLE_CACHE) {
|
||||
cache[cacheKey] = result
|
||||
}
|
||||
return result
|
||||
|
|
@ -459,11 +477,11 @@ browserslist.aliases = {
|
|||
|
||||
// Can I Use only provides a few versions for some browsers (e.g. and_chr).
|
||||
// Fallback to a similar browser for unknown versions
|
||||
// Note op_mob is not included as its chromium versions are not in sync with Opera desktop
|
||||
browserslist.desktopNames = {
|
||||
and_chr: 'chrome',
|
||||
and_ff: 'firefox',
|
||||
ie_mob: 'ie',
|
||||
op_mob: 'opera',
|
||||
android: 'chrome' // has extra processing logic
|
||||
}
|
||||
|
||||
|
|
@ -473,6 +491,7 @@ browserslist.versionAliases = {}
|
|||
browserslist.clearCaches = env.clearCaches
|
||||
browserslist.parseConfig = env.parseConfig
|
||||
browserslist.readConfig = env.readConfig
|
||||
browserslist.findConfigFile = env.findConfigFile
|
||||
browserslist.findConfig = env.findConfig
|
||||
browserslist.loadConfig = env.loadConfig
|
||||
|
||||
|
|
@ -589,9 +608,7 @@ var QUERIES = {
|
|||
if (!data) return selected
|
||||
var list = getMajorVersions(data.released, node.versions)
|
||||
list = list.map(nameMapper(data.name))
|
||||
if (data.name === 'android') {
|
||||
list = filterAndroid(list, node.versions, context)
|
||||
}
|
||||
list = filterJumps(list, data.name, node.versions, context)
|
||||
return selected.concat(list)
|
||||
}, [])
|
||||
}
|
||||
|
|
@ -605,9 +622,7 @@ var QUERIES = {
|
|||
if (!data) return selected
|
||||
var list = data.released.slice(-node.versions)
|
||||
list = list.map(nameMapper(data.name))
|
||||
if (data.name === 'android') {
|
||||
list = filterAndroid(list, node.versions, context)
|
||||
}
|
||||
list = filterJumps(list, data.name, node.versions, context)
|
||||
return selected.concat(list)
|
||||
}, [])
|
||||
}
|
||||
|
|
@ -640,9 +655,7 @@ var QUERIES = {
|
|||
var data = checkName(node.browser, context)
|
||||
var validVersions = getMajorVersions(data.released, node.versions)
|
||||
var list = validVersions.map(nameMapper(data.name))
|
||||
if (data.name === 'android') {
|
||||
list = filterAndroid(list, node.versions, context)
|
||||
}
|
||||
list = filterJumps(list, data.name, node.versions, context)
|
||||
return list
|
||||
}
|
||||
},
|
||||
|
|
@ -674,9 +687,7 @@ var QUERIES = {
|
|||
select: function (context, node) {
|
||||
var data = checkName(node.browser, context)
|
||||
var list = data.released.slice(-node.versions).map(nameMapper(data.name))
|
||||
if (data.name === 'android') {
|
||||
list = filterAndroid(list, node.versions, context)
|
||||
}
|
||||
list = filterJumps(list, data.name, node.versions, context)
|
||||
return list
|
||||
}
|
||||
},
|
||||
|
|
@ -886,18 +897,36 @@ var QUERIES = {
|
|||
select: coverQuery
|
||||
},
|
||||
supports: {
|
||||
matches: ['feature'],
|
||||
regexp: /^supports\s+([\w-]+)$/,
|
||||
matches: ['supportType', 'feature'],
|
||||
regexp: /^(?:(fully|partially)\s+)?supports\s+([\w-]+)$/,
|
||||
select: function (context, node) {
|
||||
env.loadFeature(browserslist.cache, node.feature)
|
||||
var withPartial = node.supportType !== 'fully'
|
||||
var features = browserslist.cache[node.feature]
|
||||
return Object.keys(features).reduce(function (result, version) {
|
||||
var flags = features[version]
|
||||
if (flags.indexOf('y') >= 0 || flags.indexOf('a') >= 0) {
|
||||
result.push(version)
|
||||
var result = []
|
||||
for (var name in features) {
|
||||
var data = byName(name, context)
|
||||
// Only check desktop when latest released mobile has support
|
||||
var iMax = data.released.length - 1
|
||||
while (iMax >= 0) {
|
||||
if (data.released[iMax] in features[name]) break
|
||||
iMax--
|
||||
}
|
||||
return result
|
||||
}, [])
|
||||
var checkDesktop =
|
||||
context.mobileToDesktop &&
|
||||
name in browserslist.desktopNames &&
|
||||
isSupported(features[name][data.released[iMax]], withPartial)
|
||||
data.versions.forEach(function (version) {
|
||||
var flags = features[name][version]
|
||||
if (flags === undefined && checkDesktop) {
|
||||
flags = features[browserslist.desktopNames[name]][version]
|
||||
}
|
||||
if (isSupported(flags, withPartial)) {
|
||||
result.push(name + ' ' + version)
|
||||
}
|
||||
})
|
||||
}
|
||||
return result
|
||||
}
|
||||
},
|
||||
electron_range: {
|
||||
|
|
@ -992,7 +1021,7 @@ var QUERIES = {
|
|||
matches: [],
|
||||
regexp: /^(firefox|ff|fx)\s+esr$/i,
|
||||
select: function () {
|
||||
return ['firefox 102']
|
||||
return ['firefox 115', 'firefox 128']
|
||||
}
|
||||
},
|
||||
opera_mini_all: {
|
||||
|
|
@ -1179,8 +1208,6 @@ var QUERIES = {
|
|||
}
|
||||
}
|
||||
|
||||
browserslist.versionAliases.op_mob['59'] = '58'
|
||||
|
||||
browserslist.nodeVersions = jsReleases.map(function (release) {
|
||||
return release.version
|
||||
})
|
||||
|
|
|
|||
103
node_modules/browserslist/node.js
generated
vendored
103
node_modules/browserslist/node.js
generated
vendored
|
|
@ -1,14 +1,13 @@
|
|||
var feature = require('caniuse-lite/dist/unpacker/feature').default
|
||||
var region = require('caniuse-lite/dist/unpacker/region').default
|
||||
var path = require('path')
|
||||
var fs = require('fs')
|
||||
var path = require('path')
|
||||
|
||||
var BrowserslistError = require('./error')
|
||||
|
||||
var IS_SECTION = /^\s*\[(.+)]\s*$/
|
||||
var CONFIG_PATTERN = /^browserslist-config-/
|
||||
var SCOPED_CONFIG__PATTERN = /@[^/]+\/browserslist-config(-|$|\/)/
|
||||
var TIME_TO_UPDATE_CANIUSE = 6 * 30 * 24 * 60 * 60 * 1000
|
||||
var SCOPED_CONFIG__PATTERN = /@[^/]+(?:\/[^/]+)?\/browserslist-config(?:-|$|\/)/
|
||||
var FORMAT =
|
||||
'Browserslist config should be a string or an array ' +
|
||||
'of strings with browser queries'
|
||||
|
|
@ -50,12 +49,22 @@ function eachParent(file, callback) {
|
|||
var dir = isFile(file) ? path.dirname(file) : file
|
||||
var loc = path.resolve(dir)
|
||||
do {
|
||||
if (!pathInRoot(loc)) break
|
||||
var result = callback(loc)
|
||||
if (typeof result !== 'undefined') return result
|
||||
} while (loc !== (loc = path.dirname(loc)))
|
||||
return undefined
|
||||
}
|
||||
|
||||
function pathInRoot(p) {
|
||||
if (!process.env.BROWSERSLIST_ROOT_PATH) return true
|
||||
var rootPath = path.resolve(process.env.BROWSERSLIST_ROOT_PATH)
|
||||
if (path.relative(rootPath, p).substring(0, 2) === '..') {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
function check(section) {
|
||||
if (Array.isArray(section)) {
|
||||
for (var i = 0; i < section.length; i++) {
|
||||
|
|
@ -116,6 +125,14 @@ function parsePackage(file) {
|
|||
return list
|
||||
}
|
||||
|
||||
function parsePackageOrReadConfig(file) {
|
||||
if (path.basename(file) === 'package.json') {
|
||||
return parsePackage(file)
|
||||
} else {
|
||||
return module.exports.readConfig(file)
|
||||
}
|
||||
}
|
||||
|
||||
function latestReleaseTime(agents) {
|
||||
var latest = 0
|
||||
for (var name in agents) {
|
||||
|
|
@ -129,6 +146,16 @@ function latestReleaseTime(agents) {
|
|||
return latest * 1000
|
||||
}
|
||||
|
||||
function getMonthsPassed(date) {
|
||||
var now = new Date()
|
||||
var past = new Date(date)
|
||||
|
||||
var years = now.getFullYear() - past.getFullYear()
|
||||
var months = now.getMonth() - past.getMonth()
|
||||
|
||||
return years * 12 + months
|
||||
}
|
||||
|
||||
function normalizeStats(data, stats) {
|
||||
if (!data) {
|
||||
data = {}
|
||||
|
|
@ -157,7 +184,6 @@ function normalizeStats(data, stats) {
|
|||
function normalizeUsageData(usageData, data) {
|
||||
for (var browser in usageData) {
|
||||
var browserUsage = usageData[browser]
|
||||
// eslint-disable-next-line max-len
|
||||
// https://github.com/browserslist/browserslist/issues/431#issuecomment-565230615
|
||||
// caniuse-db returns { 0: "percentage" } for `and_*` regional stats
|
||||
if ('0' in browserUsage) {
|
||||
|
|
@ -228,11 +254,7 @@ module.exports = {
|
|||
return process.env.BROWSERSLIST
|
||||
} else if (opts.config || process.env.BROWSERSLIST_CONFIG) {
|
||||
var file = opts.config || process.env.BROWSERSLIST_CONFIG
|
||||
if (path.basename(file) === 'package.json') {
|
||||
return pickEnv(parsePackage(file), opts)
|
||||
} else {
|
||||
return pickEnv(module.exports.readConfig(file), opts)
|
||||
}
|
||||
return pickEnv(parsePackageOrReadConfig(file), opts)
|
||||
} else if (opts.path) {
|
||||
return pickEnv(module.exports.findConfig(opts.path), opts)
|
||||
} else {
|
||||
|
|
@ -247,7 +269,7 @@ module.exports = {
|
|||
try {
|
||||
compressed = require('caniuse-lite/data/regions/' + code + '.js')
|
||||
} catch (e) {
|
||||
throw new BrowserslistError("Unknown region name `" + code + "`.")
|
||||
throw new BrowserslistError('Unknown region name `' + code + '`.')
|
||||
}
|
||||
var usageData = region(compressed)
|
||||
normalizeUsageData(usageData, data)
|
||||
|
|
@ -267,13 +289,14 @@ module.exports = {
|
|||
try {
|
||||
compressed = require('caniuse-lite/data/features/' + name + '.js')
|
||||
} catch (e) {
|
||||
throw new BrowserslistError("Unknown feature name `" + name + "`.")
|
||||
throw new BrowserslistError('Unknown feature name `' + name + '`.')
|
||||
}
|
||||
var stats = feature(compressed).stats
|
||||
features[name] = {}
|
||||
for (var i in stats) {
|
||||
features[name][i] = {}
|
||||
for (var j in stats[i]) {
|
||||
features[name][i + ' ' + j] = stats[i][j]
|
||||
features[name][i][j] = stats[i][j]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
@ -320,17 +343,8 @@ module.exports = {
|
|||
return module.exports.parseConfig(fs.readFileSync(file))
|
||||
},
|
||||
|
||||
findConfig: function findConfig(from) {
|
||||
from = path.resolve(from)
|
||||
|
||||
var passed = []
|
||||
findConfigFile: function findConfigFile(from) {
|
||||
var resolved = eachParent(from, function (dir) {
|
||||
if (dir in configCache) {
|
||||
return configCache[dir]
|
||||
}
|
||||
|
||||
passed.push(dir)
|
||||
|
||||
var config = path.join(dir, 'browserslist')
|
||||
var pkg = path.join(dir, 'package.json')
|
||||
var rc = path.join(dir, '.browserslistrc')
|
||||
|
|
@ -360,16 +374,38 @@ module.exports = {
|
|||
dir + ' contains both .browserslistrc and browserslist'
|
||||
)
|
||||
} else if (isFile(config)) {
|
||||
return module.exports.readConfig(config)
|
||||
return config
|
||||
} else if (isFile(rc)) {
|
||||
return module.exports.readConfig(rc)
|
||||
} else {
|
||||
return pkgBrowserslist
|
||||
return rc
|
||||
} else if (pkgBrowserslist) {
|
||||
return pkg
|
||||
}
|
||||
})
|
||||
|
||||
return resolved
|
||||
},
|
||||
|
||||
findConfig: function findConfig(from) {
|
||||
from = path.resolve(from)
|
||||
|
||||
var fromDir = isFile(from) ? path.dirname(from) : from
|
||||
if (fromDir in configCache) {
|
||||
return configCache[fromDir]
|
||||
}
|
||||
|
||||
var resolved
|
||||
var configFile = this.findConfigFile(from)
|
||||
if (configFile) {
|
||||
resolved = parsePackageOrReadConfig(configFile)
|
||||
}
|
||||
|
||||
if (!process.env.BROWSERSLIST_DISABLE_CACHE) {
|
||||
passed.forEach(function (dir) {
|
||||
var configDir = configFile && path.dirname(configFile)
|
||||
eachParent(from, function (dir) {
|
||||
configCache[dir] = resolved
|
||||
if (dir === configDir) {
|
||||
return null
|
||||
}
|
||||
})
|
||||
}
|
||||
return resolved
|
||||
|
|
@ -389,11 +425,14 @@ module.exports = {
|
|||
if (process.env.BROWSERSLIST_IGNORE_OLD_DATA) return
|
||||
|
||||
var latest = latestReleaseTime(agentsObj)
|
||||
var halfYearAgo = Date.now() - TIME_TO_UPDATE_CANIUSE
|
||||
var monthsPassed = getMonthsPassed(latest)
|
||||
|
||||
if (latest !== 0 && latest < halfYearAgo) {
|
||||
if (latest !== 0 && monthsPassed >= 6) {
|
||||
var months = monthsPassed + ' ' + (monthsPassed > 1 ? 'months' : 'month')
|
||||
console.warn(
|
||||
'Browserslist: caniuse-lite is outdated. Please run:\n' +
|
||||
'Browserslist: browsers data (caniuse-lite) is ' +
|
||||
months +
|
||||
' old. Please run:\n' +
|
||||
' npx update-browserslist-db@latest\n' +
|
||||
' Why you should do it regularly: ' +
|
||||
'https://github.com/browserslist/update-db#readme'
|
||||
|
|
@ -403,5 +442,7 @@ module.exports = {
|
|||
|
||||
currentNode: function currentNode() {
|
||||
return 'node ' + process.versions.node
|
||||
}
|
||||
},
|
||||
|
||||
env: process.env
|
||||
}
|
||||
|
|
|
|||
14
node_modules/browserslist/package.json
generated
vendored
14
node_modules/browserslist/package.json
generated
vendored
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "browserslist",
|
||||
"version": "4.21.4",
|
||||
"version": "4.24.2",
|
||||
"description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset",
|
||||
"keywords": [
|
||||
"caniuse",
|
||||
|
|
@ -15,16 +15,20 @@
|
|||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/browserslist"
|
||||
},
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/ai"
|
||||
}
|
||||
],
|
||||
"author": "Andrey Sitnik <andrey@sitnik.ru>",
|
||||
"license": "MIT",
|
||||
"repository": "browserslist/browserslist",
|
||||
"dependencies": {
|
||||
"caniuse-lite": "^1.0.30001400",
|
||||
"electron-to-chromium": "^1.4.251",
|
||||
"node-releases": "^2.0.6",
|
||||
"update-browserslist-db": "^1.0.9"
|
||||
"caniuse-lite": "^1.0.30001669",
|
||||
"electron-to-chromium": "^1.5.41",
|
||||
"node-releases": "^2.0.18",
|
||||
"update-browserslist-db": "^1.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
|
||||
|
|
|
|||
2
node_modules/browserslist/parse.js
generated
vendored
2
node_modules/browserslist/parse.js
generated
vendored
|
|
@ -9,7 +9,7 @@ function flatten(array) {
|
|||
}
|
||||
|
||||
function find(string, predicate) {
|
||||
for (var n = 1, max = string.length; n <= max; n++) {
|
||||
for (var max = string.length, n = 1; n <= max; n++) {
|
||||
var parsed = string.substr(-n, n)
|
||||
if (predicate(parsed, n, max)) {
|
||||
return string.slice(0, -n)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue