Ir al contenido

El medio de los artesanos de la web domingo, 6 de septiembre de 2026

MailStudio
Front-end

SvelteKit 3 llega a Release Candidate: migración, Vite y las novedades de Svelte 5.57

SvelteKit 3 alcanza la fase de Release Candidate, pocos días después de la salida de Svelte 5.57. Un plugin de Vite rehecho, el paso de $lib a #lib y una migración a cargo del comando sv: esto es lo que conviene preparar.

SvelteKit 3

El equipo de Svelte llevó SvelteKit 3 a Release Candidate a comienzos de septiembre de 2026, pocos días después de publicar Svelte 5.57. La versión mayor del meta-framework reorganiza su integración con Vite, adopta los subpath imports de Node en lugar del alias $lib y confía la migración a una nueva herramienta de línea de comandos. Nada es aún definitivo, pero el camino de actualización ya es legible.

Una Release Candidate, todavía no una versión estable

SvelteKit 3 maduró a través de sucesivas preversiones, de 3.0.0-next.17 a 3.0.0-next.25 en el momento del anuncio de la Release Candidate. Ese estado indica que la superficie de la API está congelada: el equipo espera sobre todo comentarios del uso real antes de la versión final y no debería introducir más cambios que rompan compatibilidad. Los proyectos en producción harán bien en probar el cambio en una rama dedicada en lugar de actualizar con prisas.

El plugin de Vite en el centro de la reforma

La novedad estructural de esta versión es la reescritura de la arquitectura del plugin de Vite. SvelteKit se alinea con la evolución reciente de Vite y aclara la frontera entre framework y bundler, con acciones de formulario rehechas y varios ajustes del enrutado como resultado. Este giro hacia unos cimientos más modernos prolonga una tendencia de fondo en las herramientas de front-end.

De $lib a #lib: los imports internos adoptan una convención de Node

En un proyecto creado con la nueva herramienta, los imports internos ya no pasan por el alias propio $lib sino por #lib, que se apoya en el campo imports de package.json, es decir, los subpath imports estándar de Node.

{
  "imports": {
    "#lib/*": "./src/lib/*.js"
  }
}

En la práctica, un import cambia de prefijo sin cambiar de destino:

- import { formatDate } from '$lib/utils';
+ import { formatDate } from '#lib/utils';

La ventaja es apoyarse en una convención comprendida de forma nativa por Node, los editores y las herramientas de test, sin ningún mecanismo propio del framework que configurar por ambos lados.

Svelte 5.57 llega en paralelo

Publicada en la misma ventana, la versión 5.57 de Svelte añade varias primitivas esperadas sin romper el código existente.

NovedadQué aporta
SvelteMap.getOrInsert y getOrInsertComputedLeer una clave o inicializarla en una sola operación sobre una Map reactiva
Tercer valor has de createContext()Comprobar que un contexto se ha definido antes de intentar leerlo
<select defaultValue>Restablece el valor elegido al reiniciar un formulario
Tipos exportados por svelte/serverRenderOutput, SyncRenderOutput, Csp y Sha256Source, útiles para el renderizado en servidor y las políticas CSP

La migración confiada al comando sv

La herramienta sv alcanza la versión 1.0.0-next.0 y adopta una lógica de migración por tareas. Un comando dedicado aplica las transformaciones propias de SvelteKit 3, incluida la sustitución de $lib por #lib en los proyectos nuevos.

npx sv migrate sveltekit-3

Este enfoque por tareas coincide con la lógica de las herramientas de línea de comandos en general: operaciones concretas y repetibles cuyo resultado se relee en un diff antes de aceptarse.

Punto de atención: una Release Candidate no es una versión de producción. Sigue siendo prudente fijar la preversión exacta en el lockfile, volver a ejecutar la batería de pruebas tras la migración y vigilar los plugins de Vite de terceros, algunos de los cuales aún dan por hecha la arquitectura anterior.

Al congelar su API y estandarizar sus imports sobre Node, SvelteKit 3 apuesta por la previsibilidad antes que por la novedad espectacular.

Lo que conviene recordar

La Release Candidate marca la entrada de SvelteKit 3 en su recta final. Los dos cambios que conviene preparar son la reforma del plugin de Vite y el paso de $lib a #lib. El comando sv automatiza lo esencial de la actualización, mientras que Svelte 5.57 aporta en paralelo primitivas de API bienvenidas. Hasta que salga la versión final, probar en una rama dedicada sigue siendo la vía a seguir.

El paso de $lib a #lib parece un detalle cosmético y resulta, en la práctica, muy cómodo: un import comprendido de forma nativa por Node es un caso particular menos que gestionar entre editor, bundler y tests. Por mi parte, migrar con sv se ha mostrado fiable en proyectos recientes, siempre que se ejecute sobre un repositorio limpio y se relea el diff antes de aceptar. — Simon Janvier

Fuente: What’s new in Svelte: September 2026, en el blog oficial del proyecto.

Compartir LinkedIn Bluesky Hacker News E-mail

Leer también