chore: refactor migration composition logic #13424
Merged
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
I was working on the migration for
svelte:component
but the code to compose together the instance was getting a bit messy because we were trying to add stuff all in the same place if there was noscript
or one by one if there was one. I changed this a bit by using aninsertion_point
variable that we can set to then insert stuff sequentially. It seems to work fine except some minor changes in whitespace but i would love an extra look from @dummdidummI'm using this already locally to add the migration for svelte component.
P.s. i've also noticed another bug that i had to fix locally which is that we never visit the expression of
svelte:component
even in normal analysis. This means that if the expression is using$$props
we don't haveuses_props
correctly initialized. Should i push this fix too?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