Sveltekit 3 chega em release candidate: configuração migra para o vite e o alias $lib é aposentado

3 min
Sveltekit 3 chega em release candidate: configuração migra para o vite e o alias $lib é aposentado

O SvelteKit 3 entrou em fase de release candidate com mudanças estruturais: configuração no vite.config.ts, fim do alias $lib em favor de #lib, exigência de Svelte 5 e Vite 8 com Rolldown. Versão estável deve sair se os testes correrem bem.

O Guia oficial de migração para o SvelteKit 3 (next.svelte.dev)-3-release-candidate" target="_blank" rel="nofollow noopener">SvelteKit 3 release candidate (svelte.dev) 3 chegou à fase de release candidate com mudanças estruturais: fim do svelte.config.js, aposentadoria do Issue original no GitHub sobre o alias #lib (github.com) $lib e exigência de Svelte 5 e Vite 8 com Rolldown. A versão estável deve seguir se os testes correrem bem.

  • SvelteKit 3 entra em release candidate; versão estável vem se os testes correrem bem
  • Configuração migra de svelte.config.js para vite.config.ts, com leitura síncrona pelo plugin do Vite
  • Alias $lib é aposentado em favor de #lib, baseado nas subpath imports nativas do Node, agora com extensão de arquivo obrigatória
  • Svelte 5 e Vite 8 com bundler Rolldown passam a ser requisitos, com builds mais rápidos
  • Migração oficial via CLI: npx sv@next migrate sveltekit-3 --tasks all --confirm

O que muda na configuração do sveltekit 3

A mudança central do SvelteKit 3 é onde a configuração mora: o svelte.config.js da versão 2 deixa de existir e tudo migra para o vite.config.ts.

O plugin do Vite agora lê a configuração de forma síncrona, eliminando uma etapa assíncrona de resolução que atrasava o processo.

Segundo a documentação de referência, a configuração via Vite já existia desde a versão 2.62; o RC apenas finaliza a transição.

Fim do alias $lib: a mudança mais debatida

O alias $lib dá lugar a #lib, apoiado nas subpath imports nativas do Node declaradas no package.json, e os imports passam a exigir extensão de arquivo.

# publicidade

A comunidade reagiu no Reddit e no GitHub, e o mantenedor Rich Harris admitiu o trade-off: quem discordar pode criar o próprio alias.

O tsconfig.json agora estende $app/tsconfig, service workers usam $app/env, $app/paths e o novo $app/manifest, e variáveis de ambiente explícitas saem do experimental.

Erros, roteamento e a base com vite 8 e rolldown

Com Svelte 5 como requisito, componentes +error.svelte cobrem falhas de load e de renderização, todo erro passa pelo handleError e stack traces ganham sourcemaps.

O shallow routing migra de pushState para goto com a opção shallow: true, e o Rolldown do Vite 8 acelera os builds.

Principais diferenças entre SvelteKit 2 e o release candidate do SvelteKit 3
AspectoSvelteKit 2SvelteKit 3 (RC)
Arquivo de configuraçãosvelte.config.jsvite.config.ts
Alias de biblioteca$lib (específico do SvelteKit)#lib (subpath imports do Node)
Extensão em importsOpcionalObrigatória (#lib/foo.js)
Versão do SvelteSvelte 4 ou 5Exige Svelte 5
BundlerVite com RollupVite 8 com Rolldown
Variáveis de ambiente explícitasExperimentalEstável, com validação Standard Schema opcional

Arraste para o lado para ver toda a tabela.

Remote functions seguem experimentais e prometem um RPC type-safe entre cliente e servidor, na linha das React Server Actions.

D

· Editor-chefe

Especialista em tecnologia, criador de conteúdo e fundador do portal Mercado de TI e Casa do Dev. Analiso tendências de mercado, Inteligência Artificial e carreira, entregando informações precisas, tr...

LinkedIn Site

COMPARTILHAR