feat: deprecate window global#22057
Merged
bartlomieju merged 4 commits intodenoland:mainfrom Jan 24, 2024
Merged
Conversation
crowlKats
approved these changes
Jan 23, 2024
marvinhagemeister
approved these changes
Jan 24, 2024
bartlomieju
added a commit
to bartlomieju/deno
that referenced
this pull request
Jan 24, 2024
This reverts commit 930ce20.
bartlomieju
added a commit
that referenced
this pull request
Jan 24, 2024
This was referenced Feb 20, 2024
This was referenced Mar 18, 2024
6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This commit deprecates
windowglobal and adds deprecationnotice on each use of
window.We decided to proceed with removal of
windowglobal variable in Deno 2.0. There's a lot of codein the wild that uses pattern like this:
to check if the code is being run in browser. However, this check passes fine in Deno and
most often libraries that do this check try to access some browser API that is not available
in Deno, or use DOM APIs (which are also not available in Deno).
This situation has occurred multiple times already
and it's unfeasible to expect the whole ecosystem to migrate to new check (and even if that
happened there's a ton of code that's already shipped and won't change).
The migration is straightfoward - replace all usages of
windowwithglobalThisorself.When Deno encounters use of
windowglobal it will now issue a warning, steering userstowards required changes:
Ref #13367.