Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better polyfill for globalThis. #53

Merged
merged 2 commits into from
Dec 4, 2020
Merged

Conversation

benjamn
Copy link
Member

@benjamn benjamn commented Dec 3, 2020

Horrifying, sure, but so much better than using Function, in terms of how many folks will complain it violates their Content Security Policy: https://mathiasbynens.be/notes/globalthis

Merging and releasing this PR will give the @ungap/global-this polyfill 500x more weekly downloads.

@mathiasbynens @WebReflection Any words of caution?

Fixes #23.

Horrifying, sure, but much better than using Function:
https://mathiasbynens.be/notes/globalthis

Fixes #23.
@benjamn benjamn self-assigned this Dec 3, 2020
@mathiasbynens
Copy link

Haha, nice! I'd say go for it!

@WebReflection
Copy link

Any words of caution?

Yes, I bloody forgot to add github repo details in the package .... will do now.

@benjamn benjamn merged commit 717dda6 into main Dec 4, 2020
@benjamn benjamn deleted the better-globalThis-polyfill branch December 4, 2020 16:05
benjamn added a commit to apollographql/apollo-client that referenced this pull request Dec 4, 2020
apollographql/invariant-packages#53

This may also help with issues like #7406, where a _patch_ version update
(from 0.5.0 to 0.5.1) is not enough to force a dependency like
ts-invariant with multiple conflicting version constraints (from
@apollo/client and graphql-tools) to be updated, since version 0.5.0 is
still semantically compatible with the desired minimum version 0.5.1, so
ts-invariant remains outdated after updating @apollo/client, despite the
new version being clearly mandated in @apollo/client/package.json.

After updating the _minor_ version of ts-invariant in package.json (to
^0.6.0), there should be no risk of @apollo/client incorrectly resolving
the older ts-invariant@0.5.0 version.
benjamn added a commit to apollographql/apollo-client that referenced this pull request Dec 4, 2020
apollographql/invariant-packages#53

This update may also help with issues like #7406, where a patch
version update (from 0.5.0 to 0.5.1) is apparently not enough to force
a dependency like ts-invariant with multiple conflicting version
constraints (from @apollo/client and graphql-tools) to be updated,
since version 0.5.0 is still semantically compatible with the desired
minimum version 0.5.1, so ts-invariant remains outdated after updating
@apollo/client, despite the new version being clearly mandated in
@apollo/client/package.json.

After updating the minor version of ts-invariant in package.json (to
^0.6.0), there should be no risk of @apollo/client incorrectly resolving
the older ts-invariant@0.5.0 version, though there may end up being
multiple copies of ts-invariant in node_modules with different versions,
which is fine for this particular package.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

How to skip invariant in webpack?
3 participants