Skip to content

fix: cleanup superTypeParameters in ClassDeclarations/ClassExpression#18015

Merged
dummdidumm merged 3 commits intomainfrom
clean-generics-for-good
Mar 28, 2026
Merged

fix: cleanup superTypeParameters in ClassDeclarations/ClassExpression#18015
dummdidumm merged 3 commits intomainfrom
clean-generics-for-good

Conversation

@paoloricciuti
Copy link
Copy Markdown
Member

@paoloricciuti paoloricciuti commented Mar 26, 2026

Closes #18012

This is incredibly weird: in our playground AND in our test suite the generic was correctly stripped. But if you installed svelte and compiled the same code the generic was there (and it was like this since version 5.35.0 when we bumped esrap).

We were removing superTypeArguments but the AST showed superTypeParameters.

My gut feeling is that recently there's been some upstream change that either changed the parsing or the printing and it was not showing up in our test suite because the lockfile was outdated. I hade to remove that plus the node_modules and re-install to make the test actually fail (before being able to fix it).

Ok, updating the whole lockfile made lint and test fail miserably. Luckily, I was able to pinpoint esrap@2.2.4 as the cause... I've only bumped esrap and that made the test fail (so that I could fix it)

And of course it was that...there's literally a commit that explicitly print them lol

sveltejs/esrap@f9137c4

@changeset-bot
Copy link
Copy Markdown

changeset-bot bot commented Mar 26, 2026

🦋 Changeset detected

Latest commit: f751503

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
svelte Patch

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

@github-actions
Copy link
Copy Markdown
Contributor

Playground

pnpm add https://pkg.pr.new/svelte@18015

@paoloricciuti
Copy link
Copy Markdown
Member Author

FFS

@paoloricciuti paoloricciuti force-pushed the clean-generics-for-good branch from 681d656 to 5eef89d Compare March 26, 2026 11:16
@dummdidumm
Copy link
Copy Markdown
Member

dummdidumm commented Mar 27, 2026

I think we should add this to the existing runtime-runes/samples/typescript test instead of creating a snapshot test, otherwise 👍

@paoloricciuti
Copy link
Copy Markdown
Member Author

I think we should add this to the existing runtime-runes/samples/typescript test instead of creating a snapshot test, otherwise 👍

Oh yeah good idea...moved it there

@dummdidumm dummdidumm merged commit 957f275 into main Mar 28, 2026
21 checks passed
@dummdidumm dummdidumm deleted the clean-generics-for-good branch March 28, 2026 16:30
@github-actions github-actions bot mentioned this pull request Mar 27, 2026
Rich-Harris pushed a commit that referenced this pull request Mar 29, 2026
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## svelte@5.55.1

### Patch Changes

- fix: correctly handle bindings on the server
([#18009](#18009))

- fix: prevent hydration error on async `{@html ...}`
([#17999](#17999))

- fix: cleanup `superTypeParameters` in
`ClassDeclarations`/`ClassExpression`
([#18015](#18015))

- fix: improve duplicate module import error message
([#18016](#18016))

- fix: reschedule new effects in prior batches
([#18021](#18021))

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

Failure to strip generics' brackets leads to Unexpected token errors

2 participants