1
0
mirror of https://github.com/lancedikson/bowser synced 2025-12-04 21:52:14 +00:00

feat: add support for latest MacOS (#580)

Co-authored-by: Seiji Kohara <9543980+seijikohara@users.noreply.github.com>
This commit is contained in:
Naor Peled 2025-11-22 23:50:54 +02:00 committed by GitHub
parent 4a6dacca08
commit 514510d847
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 153 additions and 27 deletions

View File

@ -1226,7 +1226,12 @@
10.12 - Sierra
10.13 - High Sierra
10.14 - Mojave
10.15 - Catalina</p>
10.15 - Catalina
11 - Big Sur
12 - Monterey
13 - Ventura
14 - Sonoma
15 - Sequoia</p>
</div>

View File

@ -110,6 +110,11 @@ export default class Utils {
* 10.13 - High Sierra
* 10.14 - Mojave
* 10.15 - Catalina
* 11 - Big Sur
* 12 - Monterey
* 13 - Ventura
* 14 - Sonoma
* 15 - Sequoia
*
* @example
* getMacOSVersionName("10.14") // 'Mojave'
@ -120,8 +125,11 @@ export default class Utils {
static getMacOSVersionName(version) {
const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);
v.push(0);
if (v[0] !== 10) return undefined;
switch (v[1]) {
const major = v[0];
const minor = v[1];
if (major === 10) {
switch (minor) {
case 5: return 'Leopard';
case 6: return 'Snow Leopard';
case 7: return 'Lion';
@ -137,6 +145,16 @@ export default class Utils {
}
}
switch (major) {
case 11: return 'Big Sur';
case 12: return 'Monterey';
case 13: return 'Ventura';
case 14: return 'Sonoma';
case 15: return 'Sequoia';
default: return undefined;
}
}
/**
* Get Android version name
* 1.5 - Cupcake

View File

@ -66,6 +66,11 @@ export default class Utils {
* 10.13 - High Sierra
* 10.14 - Mojave
* 10.15 - Catalina
* 11 - Big Sur
* 12 - Monterey
* 13 - Ventura
* 14 - Sonoma
* 15 - Sequoia
*
* @example
* getMacOSVersionName("10.14") // 'Mojave'
@ -76,8 +81,11 @@ export default class Utils {
static getMacOSVersionName(version) {
const v = version.split('.').splice(0, 2).map(s => parseInt(s, 10) || 0);
v.push(0);
if (v[0] !== 10) return undefined;
switch (v[1]) {
const major = v[0];
const minor = v[1];
if (major === 10) {
switch (minor) {
case 5: return 'Leopard';
case 6: return 'Snow Leopard';
case 7: return 'Lion';
@ -93,6 +101,16 @@ export default class Utils {
}
}
switch (major) {
case 11: return 'Big Sur';
case 12: return 'Monterey';
case 13: return 'Ventura';
case 14: return 'Sonoma';
case 15: return 'Sequoia';
default: return undefined;
}
}
/**
* Get Android version name
* 1.5 - Cupcake

View File

@ -919,6 +919,86 @@
engine:
name: "WebKit"
version: "525.28.3"
-
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Safari/605.1.15"
spec:
browser:
name: "Safari"
version: "14.0"
os:
name: "macOS"
version: "11.0"
versionName: "Big Sur"
platform:
type: "desktop"
vendor: "Apple"
engine:
name: "WebKit"
version: "605.1.15"
-
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 12_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15"
spec:
browser:
name: "Safari"
version: "15.4"
os:
name: "macOS"
version: "12.3"
versionName: "Monterey"
platform:
type: "desktop"
vendor: "Apple"
engine:
name: "WebKit"
version: "605.1.15"
-
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_2_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.3 Safari/605.1.15"
spec:
browser:
name: "Safari"
version: "16.3"
os:
name: "macOS"
version: "13.2.1"
versionName: "Ventura"
platform:
type: "desktop"
vendor: "Apple"
engine:
name: "WebKit"
version: "605.1.15"
-
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15"
spec:
browser:
name: "Safari"
version: "17.0"
os:
name: "macOS"
version: "14.0"
versionName: "Sonoma"
platform:
type: "desktop"
vendor: "Apple"
engine:
name: "WebKit"
version: "605.1.15"
-
ua: "Mozilla/5.0 (Macintosh; Intel Mac OS X 15_0) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Safari/605.1.15"
spec:
browser:
name: "Safari"
version: "18.0"
os:
name: "macOS"
version: "15.0"
versionName: "Sequoia"
platform:
type: "desktop"
vendor: "Apple"
engine:
name: "WebKit"
version: "605.1.15"
-
ua: "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/11B554a"
spec:

View File

@ -38,6 +38,11 @@ test('getWindowsVersionName', (t) => {
test('getMacOSVersionName', (t) => {
t.is(getMacOSVersionName('10.14.5'), 'Mojave');
t.is(getMacOSVersionName('10.15'), 'Catalina');
t.is(getMacOSVersionName('11.0'), 'Big Sur');
t.is(getMacOSVersionName('12.3.1'), 'Monterey');
t.is(getMacOSVersionName('13.2.1'), 'Ventura');
t.is(getMacOSVersionName('14.0'), 'Sonoma');
t.is(getMacOSVersionName('15.1'), 'Sequoia');
t.is(getMacOSVersionName('10.999999'), void 0);
t.is(getMacOSVersionName('XXX'), void 0);
});