Update checked-in dependencies
This commit is contained in:
parent
49f7b34c3d
commit
5261a1223f
1640 changed files with 174830 additions and 182292 deletions
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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue