Skip to content

in isJsDom there is no check on navigator.userAgent #28

Open
@locustshadow

Description

@locustshadow

even using 2.1.1 logic, when i run it in node (alpine14), i get the following error:

    (navigator.userAgent.includes("Node.js") ||
                         ^
TypeError: Cannot read property 'includes' of undefined

when i evaluate each part, i can see these various values:
typeof window !== "undefined"
true

window.name === "nodejs"
false

therefore,
(typeof window !== "undefined" && window.name === "nodejs")
is false

so, one would think it would short circuit, but for some reason it continues on to the OR where

typeof navigator !== "undefined"
is true

because

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 undefined

so, 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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions