Merge pull request #13640 from meteor/Seb-Dionfix-13126-setMinimumBrowserVersions

fix 13126 set minimum browser versions (Contribution)
This commit is contained in:
Nacho Codoñer
2025-03-05 11:22:22 +01:00
committed by GitHub
7 changed files with 27 additions and 12 deletions

View File

@@ -2935,6 +2935,7 @@ N/A
setMinimumBrowserVersions({
chrome: 49,
firefox: 45,
firefoxIOS: 100,
edge: 12,
ie: Infinity, // Sorry, IE11.
mobile_safari: [9, 2], // 9.2.0+

View File

@@ -4651,6 +4651,7 @@ N/A
setMinimumBrowserVersions({
chrome: 49,
firefox: 45,
firefoxIOS: 100,
edge: 12,
ie: Infinity, // Sorry, IE11.
mobile_safari: [9, 2], // 9.2.0+

3
package-lock.json generated
View File

@@ -28,7 +28,7 @@
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"prettier": "^2.8.6",
"prettier": "^2.8.8",
"typescript": "^5.4.5"
}
},
@@ -4260,6 +4260,7 @@
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
"integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
"dev": true,
"license": "MIT",
"bin": {
"prettier": "bin-prettier.js"
},

View File

@@ -32,7 +32,7 @@
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"prettier": "^2.8.6",
"prettier": "^2.8.8",
"typescript": "^5.4.5"
},
"jshintConfig": {

View File

@@ -9,6 +9,7 @@ setMinimumBrowserVersions({
// (pre-Edge) from the modern classification. #9818 #9839
ie: 12,
firefox: 45,
firefoxIOS: 100,
mobileSafari: 10,
opera: 38,
safari: 10,

View File

@@ -12,6 +12,7 @@ setMinimumBrowserVersions({
chrome: 42,
edge: 14,
firefox: 39,
firefoxIOS: 100,
mobile_safari: [10, 3],
opera: 29,
safari: [10, 1],

View File

@@ -29,7 +29,7 @@ const browserAliases = {
// that logic, because there is no IE12. #9818 #9839
'ie',
// Detected by recent useragent-ng as a new browser family when it sees EdgiOS or EdgA in the user agent #13592
'edgeMobile'
'edgeMobile',
],
firefox: ['firefoxMobile'],
@@ -90,15 +90,19 @@ function isModern(browser) {
if (!lowerCaseName) {
return false;
}
const entry = hasOwn.call(minimumVersions, lowerCaseName) ? minimumVersions[lowerCaseName] : undefined;
const entry = hasOwn.call(minimumVersions, lowerCaseName)
? minimumVersions[lowerCaseName]
: undefined;
if (!entry) {
const packageSettings = Meteor.settings.packages ? Meteor.settings.packages["modern-browsers"] : undefined;
const packageSettings = Meteor.settings.packages
? Meteor.settings.packages['modern-browsers']
: undefined;
// false if no package setting exists
return !!(packageSettings && packageSettings.unknownBrowsersAssumedModern);
}
return greaterThanOrEqualTo(
[~~browser.major, ~~browser.minor, ~~browser.patch],
entry.version
[~~browser.major, ~~browser.minor, ~~browser.patch],
entry.version,
);
}
@@ -162,7 +166,9 @@ function getCaller(calleeName) {
* @locus server
* @return {object}
*/
function getMinimumBrowserVersions() { return minimumVersions; }
function getMinimumBrowserVersions() {
return minimumVersions;
}
Object.assign(exports, {
isModern,
@@ -229,6 +235,7 @@ setMinimumBrowserVersions(
chrome: 49,
edge: 12,
firefox: 45,
firefoxIOS: 100,
mobileSafari: [9, 2],
opera: 36,
safari: 9,
@@ -236,7 +243,7 @@ setMinimumBrowserVersions(
// https://github.com/Kilian/electron-to-chromium/blob/master/full-versions.js
electron: 1,
},
makeSource('classes')
makeSource('classes'),
);
setMinimumBrowserVersions(
@@ -244,6 +251,7 @@ setMinimumBrowserVersions(
chrome: 39,
edge: 13,
firefox: 26,
firefoxIOS: 100,
mobileSafari: 10,
opera: 26,
safari: 10,
@@ -251,7 +259,7 @@ setMinimumBrowserVersions(
phantomjs: Infinity,
electron: [0, 20],
},
makeSource('generator functions')
makeSource('generator functions'),
);
setMinimumBrowserVersions(
@@ -259,12 +267,13 @@ setMinimumBrowserVersions(
chrome: 41,
edge: 13,
firefox: 34,
firefoxIOS: 100,
mobileSafari: [9, 2],
opera: 29,
safari: [9, 1],
electron: [0, 24],
},
makeSource('template literals')
makeSource('template literals'),
);
setMinimumBrowserVersions(
@@ -272,10 +281,11 @@ setMinimumBrowserVersions(
chrome: 38,
edge: 12,
firefox: 36,
firefoxIOS: 100,
mobileSafari: 9,
opera: 25,
safari: 9,
electron: [0, 20],
},
makeSource('symbols')
makeSource('symbols'),
);