|
20 | 20 |
|
21 | 21 | var TARGET_NOT_SUPPORTED = {{{ TARGET_NOT_SUPPORTED }}}; |
22 | 22 |
|
23 | | - var currentNodeVersion = typeof process !== 'undefined' && process?.versions?.node ? humanReadableVersionToPacked(process.versions.node) : TARGET_NOT_SUPPORTED; |
| 23 | + // Note: We use a typeof check here instead of optional chaining using |
| 24 | + // globalThis because older browsers might not have globalThis defined. |
| 25 | + var currentNodeVersion = typeof process !== 'undefined' && process.versions?.node ? humanReadableVersionToPacked(process.versions.node) : TARGET_NOT_SUPPORTED; |
24 | 26 | #if MIN_NODE_VERSION == TARGET_NOT_SUPPORTED |
25 | 27 | if (currentNodeVersion < TARGET_NOT_SUPPORTED) { |
26 | 28 | throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); |
|
30 | 32 | throw new Error(`This emscripten-generated code requires node v${ packedVersionToHumanReadable({{{ MIN_NODE_VERSION }}}) } (detected v${packedVersionToHumanReadable(currentNodeVersion)})`); |
31 | 33 | } |
32 | 34 |
|
33 | | - 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 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; |
34 | 36 | #if MIN_SAFARI_VERSION == TARGET_NOT_SUPPORTED |
35 | 37 | if (currentSafariVersion < TARGET_NOT_SUPPORTED) { |
36 | 38 | 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.`); |
|
40 | 42 | throw new Error(`This emscripten-generated code requires Safari v${ packedVersionToHumanReadable({{{ MIN_SAFARI_VERSION }}}) } (detected v${currentSafariVersion})`); |
41 | 43 | } |
42 | 44 |
|
43 | | - var currentFirefoxVersion = typeof navigator !== 'undefined' && navigator?.userAgent?.match(/Firefox\/(\d+(?:\.\d+)?)/) ? parseFloat(navigator.userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED; |
| 45 | + var currentFirefoxVersion = typeof navigator !== 'undefined' && navigator.userAgent?.match(/Firefox\/(\d+(?:\.\d+)?)/) ? parseFloat(navigator.userAgent.match(/Firefox\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED; |
44 | 46 | #if MIN_FIREFOX_VERSION == TARGET_NOT_SUPPORTED |
45 | 47 | if (currentFirefoxVersion < TARGET_NOT_SUPPORTED) { |
46 | 48 | 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.`); |
|
50 | 52 | throw new Error(`This emscripten-generated code requires Firefox v{{{ MIN_FIREFOX_VERSION }}} (detected v${currentFirefoxVersion})`); |
51 | 53 | } |
52 | 54 |
|
53 | | - var currentChromeVersion = typeof navigator !== 'undefined' && navigator?.userAgent?.match(/Chrome\/(\d+(?:\.\d+)?)/) ? parseFloat(navigator.userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED; |
| 55 | + var currentChromeVersion = typeof navigator !== 'undefined' && navigator.userAgent?.match(/Chrome\/(\d+(?:\.\d+)?)/) ? parseFloat(navigator.userAgent.match(/Chrome\/(\d+(?:\.\d+)?)/)[1]) : TARGET_NOT_SUPPORTED; |
54 | 56 | #if MIN_CHROME_VERSION == TARGET_NOT_SUPPORTED |
55 | 57 | if (currentChromeVersion < TARGET_NOT_SUPPORTED) { |
56 | 58 | 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.`); |
|
0 commit comments