Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📝 Description
This PR adjusts isBrowser detection to not rely on the window variable, which can be declared in various environments, such as e.g. Deno.
⛳️ Current behavior (updates)
Currently the dom check will pass in environments that declare window variable despite not being a browser/not having a document. It can leads to the events being added on a server or a errors in case of reading values of document after checking if only window is declared.
🚀 New behavior
It adjusts the check to validate the existence of document variable, which is recommended afaik.
Prior art: TanStack/virtual#516 motiondivision/motion#1522 https://remix.run/docs/en/1.16.1/pages/gotchas#typeof-window-checks
💣 Is this a breaking change (Yes/No):
I assume no 😃
📝 Additional Information
I wasn't sure about the changesets tbh, so I didn't generate them.