-
-
Notifications
You must be signed in to change notification settings - Fork 4k
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
fix: check for invalid bindings on window and document #11676
fix: check for invalid bindings on window and document #11676
Conversation
🦋 Changeset detectedLatest commit: 9988d42 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
[ | ||
{ | ||
"code": "bind_invalid_name", | ||
"message": "`bind:clientWidth` is not a valid binding. Possible bindings for <svelte:window> are focused, clientWidth, clientHeight, offsetWidth, offsetHeight, contentRect, contentBoxSize, borderBoxSize, devicePixelContentBoxSize, this, innerText, innerHTML, textContent", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
that list of suggestions is not correct, which hints at that we need to add more bindings to the invalid ones. this
, innerText
, innerHTML
, textContent
don't work. The contentRect
etc dimension bindings might (?) work, I'm not sure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ugh i tried with all the dimensions but not with the rest...let me check the rest
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Uh also i have to check for parent.name
not node.name
...btw this
works
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mhm yeah I guess this
would work. I just did a quick check in the Svelte 4 REPL and the number of bindings are restricted there. But if the other ones work I don't see why we wouldn't allow them.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've now tested all the bindings that the error was proposing me and all of them work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dummdidumm just to be sure: is the last update ok or I need to something else?
…ment invalid for `innerText`, `innerHTML` and `textContent`
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you!
Svelte 5 rewrite
Closes #11673
Technically we could write a test for each invalid binding but i don't know if it's necessary, willing to add them if it's deemed necessary.
Please note that the Svelte codebase is currently being rewritten for Svelte 5. Changes should target Svelte 5, which lives on the default branch (
main
).If your PR concerns Svelte 4 (including updates to svelte.dev.docs), please ensure the base branch is
svelte-4
and notmain
.Before submitting the PR, please make sure you do the following
feat:
,fix:
,chore:
, ordocs:
.Tests and linting
pnpm test
and lint the project withpnpm lint