BookinglyTech News
Software

SvelteKit 3 entra en fase de Release Candidate y cambia su configuración

La nueva versión de SvelteKit elimina svelte.config.js, mueve la configuración a vite.config.ts y reemplaza el alias $lib por #lib, mientras prepara la transición a Svelte 5 y Vite 8.

2 min de lecturaInfoQ0 vistas

SvelteKit 3 ha entrado en fase de Release Candidate (RC). El anuncio no presenta nuevas funcionalidades, sino una limpieza de código y la preparación de la siguiente gran versión del framework.

Cambios de configuración

En SvelteKit 2 la configuración se guardaba en svelte.config.js. Con la RC, esa ruta desaparece y todo se lee desde vite.config.ts. La ventaja es que el plugin Vite puede leer la configuración de forma síncrona, evitando la etapa de resolución asíncrona que requería esperar a que Vite terminara de resolver su propio config.

Alias $lib reemplazado por #lib

El alias más comentado es la sustitución de $lib por #lib. El nuevo alias usa los subpath imports nativos de Node declarados en package.json, lo que elimina la dependencia de un alias específico de SvelteKit que debía coordinarse con Vite y TypeScript. Además, los importadores ahora deben incluir la extensión del archivo, por ejemplo #lib/foo.js.

Para migrar, los proyectos pueden usar el comando:

npx sv@next migrate sveltekit-3 --tasks all --confirm

El mantenedor Rich Harris explicó que la transición a nodenext y a la nueva forma de alias puede provocar resistencia, pero que los usuarios pueden crear alias personalizados si lo prefieren.

Otras mejoras

  • tsconfig.json ahora extiende $app/tsconfig en lugar del archivo generado .svelte-kit.
  • Los workers de servicio obtienen sus variables de entorno de $app/env, $app/paths y el nuevo módulo $app/manifest.
  • La validación de variables de entorno pasa de experimental a opcional con soporte para el Standard Schema.
  • Los componentes +error.svelte se renderizan tanto en el load como en la fase de render, y la gestión de errores pasa por handleError con trazas de pila con sourcemaps.
  • El shallow routing cambia de pushState a goto con la opción shallow: true.
  • SvelteKit 3 exige Vite 8 y su bundler Rolldown para acelerar las construcciones.

Algunas características siguen en fase experimental, como las remote functions, un enfoque de RPC seguro tipado que se inspira en las Server Actions de React y las funciones de Next.js.

Próximo paso

Se espera una versión estable sin cambios de ruptura una vez que la fase de prueba sea satisfactoria. La comunidad ya puede probar la RC y reportar incidencias.

Por qué importa

Para los equipos que dependen de SvelteKit para sus aplicaciones full‑stack, estos cambios significan que deberán actualizar sus configuraciones y alias, y revisar la compatibilidad con los módulos existentes. La migración a Svelte 5 y la adopción de Vite 8 también implicarán ajustes en los procesos de build y pruebas.

Para más detalles sobre la migración y la nueva documentación, visita el repositorio y la documentación oficial.