Skip to content

Commit 24d66fb

Browse files
committed
Simplify userAgent checks. NFC
1 parent 96ae102 commit 24d66fb

File tree

5 files changed

+30
-20
lines changed

5 files changed

+30
-20
lines changed

src/minimum_runtime_check.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,12 @@
3232
throw new Error(`This emscripten-generated code requires node v${ packedVersionToHumanReadable({{{ MIN_NODE_VERSION }}}) } (detected v${packedVersionToHumanReadable(currentNodeVersion)})`);
3333
}
3434

35-
var currentSafariVersion = typeof navigator !== 'undefined' && navigator.userAgent?.includes("Safari/") && navigator.userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/) ? humanReadableVersionToPacked(navigator.userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/)[1]) : TARGET_NOT_SUPPORTED;
35+
var userAgent = typeof navigator !== 'undefined' && navigator.userAgent;
36+
if (!userAgent) {
37+
return;
38+
}
39+
40+
var currentSafariVersion = userAgent.includes("Safari/") && userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/) ? humanReadableVersionToPacked(userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/)[1]) : TARGET_NOT_SUPPORTED;
3641
#if MIN_SAFARI_VERSION == TARGET_NOT_SUPPORTED
3742
if (currentSafariVersion < TARGET_NOT_SUPPORTED) {
3843
throw new Error(`This page was compiled without support for Safari browser. Pass -sMIN_SAFARI_VERSION=${currentSafariVersion} or lower to enable support for this browser.`);
@@ -42,7 +47,7 @@
4247
throw new Error(`This emscripten-generated code requires Safari v${ packedVersionToHumanReadable({{{ MIN_SAFARI_VERSION }}}) } (detected v${currentSafariVersion})`);
4348
}
4449

45-
var currentFirefoxVersion = typeof navigator !== 'undefined' && navigator.userAgent?.match(/Firefox\/(\d+(?:\.\d+)?)/) ? parseFloat(navigator.userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
50+
var currentFirefoxVersion = userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/) ? parseFloat(userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
4651
#if MIN_FIREFOX_VERSION == TARGET_NOT_SUPPORTED
4752
if (currentFirefoxVersion < TARGET_NOT_SUPPORTED) {
4853
throw new Error(`This page was compiled without support for Firefox browser. Pass -sMIN_FIREFOX_VERSION=${currentFirefoxVersion} or lower to enable support for this browser.`);
@@ -52,7 +57,7 @@
5257
throw new Error(`This emscripten-generated code requires Firefox v{{{ MIN_FIREFOX_VERSION }}} (detected v${currentFirefoxVersion})`);
5358
}
5459

55-
var currentChromeVersion = typeof navigator !== 'undefined' && navigator.userAgent?.match(/Chrome\/(\d+(?:\.\d+)?)/) ? parseFloat(navigator.userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
60+
var currentChromeVersion = userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/) ? parseFloat(userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
5661
#if MIN_CHROME_VERSION == TARGET_NOT_SUPPORTED
5762
if (currentChromeVersion < TARGET_NOT_SUPPORTED) {
5863
throw new Error(`This page was compiled without support for Chrome browser. Pass -sMIN_CHROME_VERSION=${currentChromeVersion} or lower to enable support for this browser.`);

test/codesize/test_codesize_hello_O0.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
2-
"a.out.js": 24330,
3-
"a.out.js.gz": 8675,
2+
"a.out.js": 24194,
3+
"a.out.js.gz": 8694,
44
"a.out.nodebug.wasm": 15117,
55
"a.out.nodebug.wasm.gz": 7456,
6-
"total": 39447,
7-
"total_gz": 16131,
6+
"total": 39311,
7+
"total_gz": 16150,
88
"sent": [
99
"fd_write"
1010
],

test/codesize/test_codesize_minimal_O0.expected.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,22 @@
2323
throw new Error(`This emscripten-generated code requires node v${ packedVersionToHumanReadable(160000) } (detected v${packedVersionToHumanReadable(currentNodeVersion)})`);
2424
}
2525

26-
var currentSafariVersion = typeof navigator !== 'undefined' && navigator.userAgent?.includes("Safari/") && navigator.userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/) ? humanReadableVersionToPacked(navigator.userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/)[1]) : TARGET_NOT_SUPPORTED;
26+
var userAgent = typeof navigator !== 'undefined' && navigator.userAgent;
27+
if (!userAgent) {
28+
return;
29+
}
30+
31+
var currentSafariVersion = userAgent.includes("Safari/") && userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/) ? humanReadableVersionToPacked(userAgent.match(/Version\/(\d+\.?\d*\.?\d*)/)[1]) : TARGET_NOT_SUPPORTED;
2732
if (currentSafariVersion < 150000) {
2833
throw new Error(`This emscripten-generated code requires Safari v${ packedVersionToHumanReadable(150000) } (detected v${currentSafariVersion})`);
2934
}
3035

31-
var currentFirefoxVersion = typeof navigator !== 'undefined' && navigator.userAgent?.match(/Firefox\/(\d+(?:\.\d+)?)/) ? parseFloat(navigator.userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
36+
var currentFirefoxVersion = userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/) ? parseFloat(userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
3237
if (currentFirefoxVersion < 79) {
3338
throw new Error(`This emscripten-generated code requires Firefox v79 (detected v${currentFirefoxVersion})`);
3439
}
3540

36-
var currentChromeVersion = typeof navigator !== 'undefined' && navigator.userAgent?.match(/Chrome\/(\d+(?:\.\d+)?)/) ? parseFloat(navigator.userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
41+
var currentChromeVersion = userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/) ? parseFloat(userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED;
3742
if (currentChromeVersion < 85) {
3843
throw new Error(`This emscripten-generated code requires Chrome v85 (detected v${currentChromeVersion})`);
3944
}

test/codesize/test_codesize_minimal_O0.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
2-
"a.out.js": 19500,
3-
"a.out.js.gz": 6975,
2+
"a.out.js": 19364,
3+
"a.out.js.gz": 6998,
44
"a.out.nodebug.wasm": 1136,
55
"a.out.nodebug.wasm.gz": 659,
6-
"total": 20636,
7-
"total_gz": 7634,
6+
"total": 20500,
7+
"total_gz": 7657,
88
"sent": [],
99
"imports": [],
1010
"exports": [
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
{
2-
"hello_world.js": 56997,
3-
"hello_world.js.gz": 17686,
2+
"hello_world.js": 56928,
3+
"hello_world.js.gz": 17700,
44
"hello_world.wasm": 15117,
55
"hello_world.wasm.gz": 7456,
66
"no_asserts.js": 26632,
77
"no_asserts.js.gz": 8884,
88
"no_asserts.wasm": 12217,
99
"no_asserts.wasm.gz": 6015,
10-
"strict.js": 55012,
11-
"strict.js.gz": 17030,
10+
"strict.js": 54943,
11+
"strict.js.gz": 17045,
1212
"strict.wasm": 15117,
1313
"strict.wasm.gz": 7451,
14-
"total": 181092,
15-
"total_gz": 64522
14+
"total": 180954,
15+
"total_gz": 64551
1616
}

0 commit comments

Comments
 (0)