goober icon indicating copy to clipboard operation
goober copied to clipboard

fix: don't use `globalThis` when using `this`

Open jluxenberg opened this issue 1 year ago • 4 comments

Without "use strict", this will be set to globalThis which is typically the window object. If certain properties are set on the window object (e.g. "window.target"), this can cause problems for the css and styled functions.

Instead, check that this has been set to something other than globalThis before using it. This ensures that this will only have a value if it is explicitly bound, and otherwise will be undefined.

Note: I tried to add "use strict"; directives where needed, but couldn't get them to "survive" the build process -- they were removed. This fix seems to work just fine.

Closes https://github.com/cristianbote/goober/issues/545

jluxenberg avatar Sep 06 '23 05:09 jluxenberg

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
goober-rocks ❌ Failed (Inspect) Sep 6, 2023 5:45am

vercel[bot] avatar Sep 06 '23 05:09 vercel[bot]

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 7a26f07ee9d36b16c6b1921e54d5795317bff05a:

Sandbox Source
Vanilla Configuration

codesandbox-ci[bot] avatar Sep 06 '23 05:09 codesandbox-ci[bot]

Heya @jluxenberg,

Thank you so much for this PR and for the details. goober uses microbundle to bundle it up, microbundle has a --strict option. Have you tried passing that? Meaning here a --strict flag should be passed https://github.com/cristianbote/goober/blob/master/package.json#L76C72-L76C72

cristianbote avatar Sep 06 '23 06:09 cristianbote

Heya @jluxenberg,

Thank you so much for this PR and for the details. goober uses microbundle to bundle it up, microbundle has a --strict option. Have you tried passing that? Meaning here a --strict flag should be passed https://github.com/cristianbote/goober/blob/master/package.json#L76C72-L76C72

I did try that (and added in all the places where microbundle is invoked) but it didn't seem to change the build artifacts at all.

jluxenberg avatar Sep 06 '23 06:09 jluxenberg