Key details

  1. SvelteKit 3 became stable October 1, 2026.
  2. svelte.config.js is no longer supported; use Vite plugin configuration.
  3. The $lib alias moves to #lib.
  4. Minimums include Node 22.17, TypeScript 6, Svelte 5.57.1 and Vite 8.0.12.
  5. sv CLI 1.0 provides a SvelteKit 3 migration command and TODO generation.
  6. The project recommends upgrading to the latest 2.x first to receive targeted deprecation warnings.

What builders should take away

  1. Upgrade to the latest SvelteKit 2.x before running the official migration command.
  2. Move framework settings into vite.config and check every tool that imports config.
  3. Test routes, server-only modules, environment secrets and deployed adapters after codemods.
  4. Update CI Node/TypeScript/Vite versions and keep a rollback branch.

What changed

The Svelte team released SvelteKit 3 on October 1, 2026 alongside sv CLI 1.0. The major removes svelte.config.js in favour of passing SvelteKit configuration through the Vite plugin in vite.config.js, replaces the $lib alias with #lib based on standard subpath imports, removes legacy modules and updates environment/error handling. Minimum dependencies include Node 22.17, TypeScript 6, Svelte 5.57.1 and Vite 8.0.12. The sv migrate sveltekit-3 command handles many mechanical changes and emits TODOs for remaining manual work.

Why it matters

A production framework major can affect every build, test and deployment path, not just application syntax. Consolidating configuration with Vite reduces parallel config systems, while standard imports and stricter typing change assumptions in older SvelteKit projects. The CLI migration tool reduces effort but cannot guarantee application semantics or adapter compatibility.

Configuration moves to the Vite plugin

SvelteKit configuration previously stored in svelte.config.js must move to vite.config.js. Tooling that reads or generates the old file needs updating.

Aliases and legacy APIs change

The $lib alias is replaced by #lib, and older app/store and service-worker paths are retired. Migration diagnostics and codemods cover much but not all cases.

Runtime requirements jump

SvelteKit 3 requires Node 22.17, TypeScript 6, Svelte 5.57.1 and Vite 8.0.12 or newer. CI, host images and adapters need version checks.

sv 1.0 supports the migration

The official CLI reached 1.0 and includes a migration command plus an official community add-on API, making scaffolding and upgrades more consistent.

What to watch next

  • Adapter compatibility and post-GA patch releases.
  • Remote functions maturation and broader stable API boundaries.
  • Migration regressions in larger SvelteKit 2 applications.

Still unclear

  • The codemod does not guarantee semantic correctness or complete adapter migration.
  • Some adjacent Svelte remote-function capabilities remain experimental.

Sources

Direct reading behind this dossier.

3 sources
Migrating to SvelteKit v3
SvelteKit primary documentation

Official breaking changes and dependency requirements.

Discussion

Discussion is reader-contributed. Comments are not part of the BTN dossier or its editorial evidence.

0 visible comments

Join the discussion

Keep comments useful and relevant. Reader contributions may be moderated and are not BTN editorial evidence.

Sign in to comment