v1.0 with SW PWA enabled
This commit is contained in:
95
frontend/node_modules/browserslist/index.js
generated
vendored
95
frontend/node_modules/browserslist/index.js
generated
vendored
@ -1,3 +1,4 @@
|
||||
var bbm = require('baseline-browser-mapping')
|
||||
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')
|
||||
@ -11,6 +12,7 @@ var parseWithoutCache = require('./parse') // Will load browser.js in webpack
|
||||
var YEAR = 365.259641 * 24 * 60 * 60 * 1000
|
||||
var ANDROID_EVERGREEN_FIRST = '37'
|
||||
var OP_MOB_BLINK_FIRST = 14
|
||||
var FIREFOX_ESR_VERSION = '140'
|
||||
|
||||
// Helpers
|
||||
|
||||
@ -408,6 +410,7 @@ function browserslist(queries, opts) {
|
||||
var context = {
|
||||
ignoreUnknownVersions: opts.ignoreUnknownVersions,
|
||||
dangerousExtend: opts.dangerousExtend,
|
||||
throwOnMissing: opts.throwOnMissing,
|
||||
mobileToDesktop: opts.mobileToDesktop,
|
||||
env: opts.env
|
||||
}
|
||||
@ -593,6 +596,33 @@ function sinceQuery(context, node) {
|
||||
return filterByYear(Date.UTC(year, month, day, 0, 0, 0), context)
|
||||
}
|
||||
|
||||
function bbmTransform(bbmVersions) {
|
||||
var browsers = {
|
||||
chrome: 'chrome',
|
||||
chrome_android: 'and_chr',
|
||||
edge: 'edge',
|
||||
firefox: 'firefox',
|
||||
firefox_android: 'and_ff',
|
||||
safari: 'safari',
|
||||
safari_ios: 'ios_saf',
|
||||
webview_android: 'android',
|
||||
samsunginternet_android: 'samsung',
|
||||
opera_android: 'op_mob',
|
||||
opera: 'opera',
|
||||
qq_android: 'and_qq',
|
||||
uc_android: 'and_uc',
|
||||
kai_os: 'kaios'
|
||||
}
|
||||
|
||||
return bbmVersions
|
||||
.filter(function (version) {
|
||||
return Object.keys(browsers).indexOf(version.browser) !== -1
|
||||
})
|
||||
.map(function (version) {
|
||||
return browsers[version.browser] + ' >= ' + version.version
|
||||
})
|
||||
}
|
||||
|
||||
function coverQuery(context, node) {
|
||||
var coverage = parseFloat(node.coverage)
|
||||
var usage = browserslist.usage.global
|
||||
@ -780,6 +810,58 @@ var QUERIES = {
|
||||
regexp: /^since (\d+)-(\d+)-(\d+)$/i,
|
||||
select: sinceQuery
|
||||
},
|
||||
baseline: {
|
||||
matches: ['year', 'availability', 'date', 'downstream', 'kaios'],
|
||||
// Matches:
|
||||
// baseline 2024
|
||||
// baseline newly available
|
||||
// baseline widely available
|
||||
// baseline widely available on 2024-06-01
|
||||
// ...with downstream
|
||||
// ...including kaios
|
||||
regexp:
|
||||
/^baseline\s+(?:(\d+)|(newly|widely)\s+available(?:\s+on\s+(\d{4}-\d{2}-\d{2}))?)?(\s+with\s+downstream)?(\s+including\s+kaios)?$/i,
|
||||
select: function (context, node) {
|
||||
var baselineVersions
|
||||
var includeDownstream = !!node.downstream
|
||||
var includeKaiOS = !!node.kaios
|
||||
if (node.availability === 'newly' && node.date) {
|
||||
throw new BrowserslistError(
|
||||
'Using newly available with a date is not supported, please use "widely available on YYYY-MM-DD" and add 30 months to the date you specified.'
|
||||
)
|
||||
}
|
||||
if (node.year) {
|
||||
baselineVersions = bbm.getCompatibleVersions({
|
||||
targetYear: node.year,
|
||||
includeDownstreamBrowsers: includeDownstream,
|
||||
includeKaiOS: includeKaiOS,
|
||||
suppressWarnings: true
|
||||
})
|
||||
} else if (node.date) {
|
||||
baselineVersions = bbm.getCompatibleVersions({
|
||||
widelyAvailableOnDate: node.date,
|
||||
includeDownstreamBrowsers: includeDownstream,
|
||||
includeKaiOS: includeKaiOS,
|
||||
suppressWarnings: true
|
||||
})
|
||||
} else if (node.availability === 'newly') {
|
||||
var future30months = new Date().setMonth(new Date().getMonth() + 30)
|
||||
baselineVersions = bbm.getCompatibleVersions({
|
||||
widelyAvailableOnDate: future30months,
|
||||
includeDownstreamBrowsers: includeDownstream,
|
||||
includeKaiOS: includeKaiOS,
|
||||
suppressWarnings: true
|
||||
})
|
||||
} else {
|
||||
baselineVersions = bbm.getCompatibleVersions({
|
||||
includeDownstreamBrowsers: includeDownstream,
|
||||
includeKaiOS: includeKaiOS,
|
||||
suppressWarnings: true
|
||||
})
|
||||
}
|
||||
return resolve(bbmTransform(baselineVersions), context)
|
||||
}
|
||||
},
|
||||
popularity: {
|
||||
matches: ['sign', 'popularity'],
|
||||
regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,
|
||||
@ -1032,12 +1114,17 @@ var QUERIES = {
|
||||
},
|
||||
browser_ray: {
|
||||
matches: ['browser', 'sign', 'version'],
|
||||
regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,
|
||||
regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+|esr)$/i,
|
||||
select: function (context, node) {
|
||||
var version = node.version
|
||||
var data = checkName(node.browser, context)
|
||||
var alias = browserslist.versionAliases[data.name][version]
|
||||
var alias = browserslist.versionAliases[data.name][version.toLowerCase()]
|
||||
if (alias) version = alias
|
||||
if (!/[\d.]+/.test(version)) {
|
||||
throw new BrowserslistError(
|
||||
'Unknown version ' + version + ' of ' + node.browser
|
||||
)
|
||||
}
|
||||
return data.released
|
||||
.filter(generateFilter(node.sign, version))
|
||||
.map(function (v) {
|
||||
@ -1049,7 +1136,7 @@ var QUERIES = {
|
||||
matches: [],
|
||||
regexp: /^(firefox|ff|fx)\s+esr$/i,
|
||||
select: function () {
|
||||
return ['firefox 128', 'firefox 140']
|
||||
return ['firefox ' + FIREFOX_ESR_VERSION]
|
||||
}
|
||||
},
|
||||
opera_mini_all: {
|
||||
@ -1243,4 +1330,6 @@ var QUERIES = {
|
||||
})
|
||||
})()
|
||||
|
||||
browserslist.versionAliases.firefox.esr = FIREFOX_ESR_VERSION
|
||||
|
||||
module.exports = browserslist
|
||||
|
||||
Reference in New Issue
Block a user