fix(@astrojs/solid-js): detect Svelte 5 components using the $$renderer prop#17270
Merged
matthewp merged 1 commit intoJul 2, 2026
Merged
Conversation
…rer` prop Svelte renamed the internal renderer prop from `$$payload` to `$$renderer` in Svelte 5.x (withastro#14433 fixed the Svelte renderer check). The Solid renderer copies that check to exclude Svelte components from being claimed as Solid, but was never updated to cover the new prop name. Projects that mix `@astrojs/solid-js` with `@astrojs/svelte` and use a newer Svelte 5 release now compile components with `$$renderer`, which the Solid renderer doesn't recognise, causing it to render those Svelte components as empty strings instead of passing them to the Svelte renderer. Fixes by mirroring the same two-prop check that the Svelte renderer already uses.
🦋 Changeset detectedLatest commit: e72980a The changes in this PR will be included in the next version bump. This PR includes changesets to release 13 packages
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 |
matthewp
approved these changes
Jul 2, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 renamed its internal SSR prop from $$payload to $$renderer starting in a newer patch (tracked in fix(svelte): detect Svelte components with renamed renderer prop #14433, which updated the Svelte renderer). That PR correctly updated @astrojs/svelte, but the Solid renderer has its own copy of the same Svelte-exclusion check and was not updated at the same time.
Impact: users who have both @astrojs/solid-js and @astrojs/svelte installed, and whose Svelte version compiles components with $$renderer, will see those Svelte components rendered as empty strings by the Solid renderer instead of being handed off to the Svelte renderer.
Fix: mirror the same two-prop check already used in @astrojs/svelte: