@astrojs/svelte
π Patch Changes
- #12594
4f2fd0aThanks @Princesseuh! - Fixes compatibility with Astro 5
- #12594
β¨ Major Changes
-
#12060
cb5d3aeThanks @Princesseuh! - Updates peer dependency range to support Astro 5 -
#12524
9f44019Thanks @bluwy! - Updates@sveltejs/vite-plugin-svelteto v5 to handle Vite 6 -
#12524
9f44019Thanks @bluwy! - Updates Vite dependency to v6 to match Astro v5
πΏ Minor Changes
π Patch Changes
-
β¨ Major Changes
-
#12364
9fc2ab8Thanks @jdtjenkins! - Adds support for Svelte 5. Svelte 3 and 4 are no longer supported.The integration will now also no longer add
vitePreprocess()by default if a preprocessor is not set up insvelte.config.js. It is recommended to set up the Svelte config manually so that features like IDE completion and syntax highlighting work properly.If youβre using SCSS, Stylus, etc in your Svelte component style tags, make sure that the preprocessor is also set up in
svelte.config.js. For example:svelte.config.js import { vitePreprocess } from '@astrojs/svelte';export default {preprocess: vitePreprocess(),};Refer to the Svelte 5 migration guide and
@sveltejs/vite-plugin-sveltechangelog for details of their respective breaking changes.
-
β¨ Major Changes
- #12060
cb5d3aeThanks @Princesseuh! - Updates peer dependency range to support Astro 5
- #12060
π Patch Changes
- #12006
a582cb6Thanks @johannesspohr! - Fix Svelte component view transition state persistence
- #12006
πΏ Minor Changes
-
#11234
4385bf7Thanks @ematipico! - Adds a new function calledaddServerRendererto the Container API. Use this function to manually store renderers inside the instance of your container.This new function should be preferred when using the Container API in environments like on-demand pages:
import type { APIRoute } from 'astro';import { experimental_AstroContainer } from 'astro/container';import reactRenderer from '@astrojs/react/server.js';import vueRenderer from '@astrojs/vue/server.js';import ReactComponent from '../components/button.jsx';import VueComponent from '../components/button.vue';// MDX runtime is contained inside the Astro coreimport mdxRenderer from 'astro/jsx/server.js';// In case you need to import a custom rendererimport customRenderer from '../renderers/customRenderer.js';export const GET: APIRoute = async (ctx) => {const container = await experimental_AstroContainer.create();container.addServerRenderer({ renderer: reactRenderer });container.addServerRenderer({ renderer: vueRenderer });container.addServerRenderer({ renderer: customRenderer });// You can pass a custom name toocontainer.addServerRenderer({name: 'customRenderer',renderer: customRenderer,});const vueComponent = await container.renderToString(VueComponent);return await container.renderToResponse(Component);};
-
πΏ Minor Changes
-
#11144
803dd80Thanks @ematipico! - The integration now exposes a function calledgetContainerRenderer, that can be used inside the Container APIs to load the relative renderer.import { experimental_AstroContainer as AstroContainer } from 'astro/container';import ReactWrapper from '../src/components/ReactWrapper.astro';import { loadRenderers } from 'astro:container';import { getContainerRenderer } from '@astrojs/react';test('ReactWrapper with react renderer', async () => {const renderers = await loadRenderers([getContainerRenderer()]);const container = await AstroContainer.create({renderers,});const result = await container.renderToString(ReactWrapper);expect(result).toContain('Counter');expect(result).toContain('Count: <!-- -->5');});
-
πΏ Minor Changes
-
#10689
683d51a5eecafbbfbfed3910a3f1fbf0b3531b99Thanks @ematipico! - Deprecate support for versions of Node.js older thanv18.17.1for Node.js 18, older thanv20.0.3for Node.js 20, and the complete Node.js v19 release line.This change is in line with Astroβs Node.js support policy.
-
πΏ Minor Changes
- #10645
51112ab3f1b134740e8307743bbb15cb0d8bdbb3Thanks @mingjunlu! - Bumps Svelte 5 peer dependency to^5.0.0-next.90and support its latest breaking changes
- #10645