fix: add css hash to custom element rendered with svelte:element
#12715
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.
Svelte 5 rewrite
Closes #12714
I initially did this change and then searched for where
set_custom_element_data
was used. I added thecss_hash
there too but then realized that for a normal custom element (rendered without the use ofsvelte:element
it was already adding the class.I did a bit of digging and found out that the css hash is added during the analysis phase which seemed a bit odd to me but seems part of a bigger system in place which i was a bit scared to touch). So for the moment i've made the
css_hash
argument optional and i'm checking for it's presence before adding the class but if you think a major refactor to always pass thecss_hash
during the transform phase instead of the analysis phase is needed i can work on this a bit more.I've added the normal custom element to the test to avoid falling, in the future, in the trap of adding the custom css hash twice.
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