Fix for modern node that includes a navigator.userAgent

This commit is contained in:
Daniel Imms
2026-01-03 14:10:44 -08:00
parent 08c49301b7
commit e2f45b5f4e
+3 -3
View File
@@ -14,9 +14,9 @@ interface INavigator {
declare const navigator: INavigator;
declare const process: unknown;
// navigator is also checked here because bundling with the process module can cause issues
// otherwise
export const isNode = (typeof process !== 'undefined' && 'title' in (process as any) && typeof navigator === 'undefined') ? true : false;
// navigator.userAgent is also checked here because bundling with the process module can cause
// issues otherwise. Note that navigator exists in Node.js 21+ but the userAgent is "Node.js/<version>".
export const isNode = (typeof process !== 'undefined' && 'title' in (process as any) && (typeof navigator === 'undefined' || navigator.userAgent.startsWith('Node.js/'))) ? true : false;
const userAgent = (isNode) ? 'node' : navigator.userAgent;
const platform = (isNode) ? 'node' : navigator.platform;