Open locustshadow opened 1 year ago
I also ran into this error, had to polyfill in order to get it to work, if anyone else wants to do the same, just fork it and do this:
const isJsDom =
(typeof window !== "undefined" && window.name === "nodejs") ||
(typeof navigator !== "undefined" && navigator.userAgent &&
(navigator.userAgent.includes("Node.js") ||
navigator.userAgent.includes("jsdom")));
even using 2.1.1 logic, when i run it in node (alpine14), i get the following error:
when i evaluate each part, i can see these various values:
typeof window !== "undefined"
truewindow.name === "nodejs"
falsetherefore,
(typeof window !== "undefined" && window.name === "nodejs")
is falseso, one would think it would short circuit, but for some reason it continues on to the OR where
typeof navigator !== "undefined"
is truebecause
navigator is an object with
{appName: 'nodejs'}
but then it blows up here because there i no userAgent:
navigator.userAgent.includes("Node.js")
Uncaught TypeError TypeError: Cannot read property 'includes' of undefinedso, it seems like the checks are not preventing it from trying to access a property on an undefined object (navigator.userAgent). would appreciate if you could identify a way to make this work for me. we are using bitgo_service which uses your code. not sure how this works for others and not for me, but i can override the dependency of the current bitgo version we are using, if you can create an updated package.
many thanks!