browserslist
Advanced tools
+1
-0
@@ -41,2 +41,3 @@ #!/usr/bin/env node | ||
| } else if (isArg('--update-db')) { | ||
| /* c8 ignore next 8 */ | ||
| process.stdout.write( | ||
@@ -43,0 +44,0 @@ 'The --update-db command is deprecated.\n' + |
+29
-2
@@ -10,3 +10,3 @@ var bbm = require('baseline-browser-mapping') | ||
| var env = require('./node') | ||
| var parseWithoutCache = require('./parse') | ||
| var parseWithoutCache = require('./parse') // Will load browser.js in webpack | ||
@@ -18,2 +18,3 @@ var YEAR = 365.259641 * 24 * 60 * 60 * 1000 | ||
| // Helpers | ||
@@ -154,2 +155,3 @@ function isVersionsMatch(versionA, versionB) { | ||
| // this follows the npm-like semver behavior | ||
| function semverFilterLoose(operator, range) { | ||
@@ -160,2 +162,4 @@ range = range.split('.').map(parseSimpleInt) | ||
| } | ||
| // ignore any patch version because we only return minor versions | ||
| // range[2] = 'x' | ||
| switch (operator) { | ||
@@ -176,2 +180,3 @@ case '<=': | ||
| // this follows the npm-like semver behavior | ||
| function compareSemverLoose(version, range) { | ||
@@ -297,2 +302,4 @@ if (version[0] !== range[0]) { | ||
| // 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) { | ||
@@ -420,2 +427,3 @@ var jump = 1 | ||
| } | ||
| // Removing to avoid using context.path without marking query as needsPath | ||
| if (needsPath) { | ||
@@ -441,2 +449,5 @@ context.path = opts.path | ||
| if (name1[0] === name2[0]) { | ||
| // assumptions on caniuse data | ||
| // 1) version ranges never overlaps | ||
| // 2) if version is not a range, it never contains `-` | ||
| var version1 = name1[1].split('-')[0] | ||
@@ -486,2 +497,3 @@ var version2 = name2[1].split('-')[0] | ||
| // Will be filled by Can I Use data below | ||
| browserslist.cache = {} | ||
@@ -494,4 +506,6 @@ browserslist.data = {} | ||
| // Default browsers query | ||
| browserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead'] | ||
| // Browser names aliases | ||
| browserslist.aliases = { | ||
@@ -512,2 +526,5 @@ fx: 'firefox', | ||
| // 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 = { | ||
@@ -517,5 +534,6 @@ and_chr: 'chrome', | ||
| ie_mob: 'ie', | ||
| android: 'chrome' | ||
| android: 'chrome' // has extra processing logic | ||
| } | ||
| // Aliases to work with joined versions like `ios_saf 7.0-7.1` | ||
| browserslist.versionAliases = {} | ||
@@ -813,2 +831,9 @@ | ||
| 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: | ||
@@ -1012,2 +1037,3 @@ /^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, | ||
| var data = byName(name, context) | ||
| // Only check desktop when latest released mobile has support | ||
| var iMax = data.released.length - 1 | ||
@@ -1294,2 +1320,3 @@ while (iMax >= 0) { | ||
| // Get and convert Can I Use data | ||
@@ -1296,0 +1323,0 @@ ;(function () { |
+6
-1
@@ -30,3 +30,3 @@ var feature = require('caniuse-lite/dist/unpacker/feature').default | ||
| } | ||
| if (name.replace(/^@[^/]+\ | ||
| if (name.replace(/^@[^/]+\//, '').indexOf('.') !== -1) { | ||
| throw new BrowserslistError( | ||
@@ -48,2 +48,3 @@ '`.` not allowed in Browserslist config name. ' + use | ||
| } catch (err) { | ||
| /* c8 ignore start */ | ||
| if ( | ||
@@ -56,2 +57,3 @@ err.code !== 'ENOENT' && | ||
| } | ||
| /* c8 ignore end */ | ||
| } | ||
@@ -243,2 +245,4 @@ | ||
| var browserUsage = usageData[browser] | ||
| // https://github.com/browserslist/browserslist/issues/431#issuecomment-565230615 | ||
| // caniuse-db returns { 0: "percentage" } for `and_*` regional stats | ||
| if ('0' in browserUsage) { | ||
@@ -282,2 +286,3 @@ var versions = data[browser].versions | ||
| var stats = require( | ||
| // Use forward slashes for module paths, also on Windows. | ||
| require.resolve(path.posix.join(name, 'browserslist-stats.json'), { | ||
@@ -284,0 +289,0 @@ paths: ['.'] |
+1
-1
| { | ||
| "name": "browserslist", | ||
| "version": "4.28.3", | ||
| "version": "4.28.4", | ||
| "description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
68971
2.4%2173
1.54%