-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Support Svelte 5 (experimental) #9098
Conversation
🦋 Changeset detectedLatest commit: 6e49574 The changes in this PR will be included in the next version bump. 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 |
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.
Looks good so far! Bummer that slots continue to be hacky, but I guess Astro's use case is quite niche.
}; | ||
|
||
if (!isSvelte5) { | ||
// @ts-ignore | ||
defaultOptions.compilerOptions.hydratable = true; |
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.
Interesting! Hydration is removed in Svelte 5? Is there any way to use hydratable Svelte components (4.0 or earlier) in a Svelte 5 project?
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.
Hydratable is enabled by default in Svelte 5. If you pass hydratable: true
, it'll show a warning that you don't have to pass it now. I'll add a note here.
Ready for review! The new |
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.
Nice! Everything LGTM. This is very similar to how we've handled majors for React in the past.
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.
LGTM @bluwy !
* main: feat(i18n): add `Astro.currentLocale` (withastro#9101) [ci] release (withastro#9107) Add compatibility with cloudflare node (withastro#8925) [ci] format Cancel response stream when connection closes (withastro#9071) [ci] format feat(i18n): apply specific routing logic only to pages (withastro#9091) feat(dev-overlay): Hide plugins into a separate menu when there's too many enabled (withastro#9102) [ci] format Support Svelte 5 (experimental) (withastro#9098) [ci] release (withastro#9078) [ci] format Refactor shikiji syntax highlighting code (withastro#9083) [ci] format fix: Query params trigger the trailingSlash error in preview mode (withastro#9045) fix(assets): bundling regression for specific config on non-Node runtimes (withastro#9087)
Co-authored-by: Nate Moore <[email protected]>
Changes
Add experimental support for Svelte 5. This PR needs more testing, but seems to cover the common cases.
NOTE: When testing this locally, the
svelte
devdep in@astrojs/svelte
needs to be bumped to 5.0.0-next.1.Testing
n/a. manual testing for now until Svelte 5 is stable.
Docs
Updated README to note supported Svelte versions