# feat\(web\)\!: migrate to SvelteKit 3 and Vite 8 with build-time DB driver · flambo/atlantis

[View on GitCafe](https://git.cafe/flambo/atlantis/commit/1576b0da8bdde75d510c38b8faa46c3935f5b6a0)

Repository: [flambo/atlantis](https://git.cafe/flambo/atlantis)

Visibility: public

Requested revision: 1576b0da8bdde75d510c38b8faa46c3935f5b6a0

Requested commit: 1576b0da8bdde75d510c38b8faa46c3935f5b6a0

Commit: 1576b0da8bdde75d510c38b8faa46c3935f5b6a0

Tree: 577ad5985cb114b490de0d563d36645d120bb0e3

Author: flamboh

Committer: flamboh

## Message

```
feat(web)!: migrate to SvelteKit 3 and Vite 8 with build-time DB driver

- Upgrade to @sveltejs/kit 3.0.0-next.27, adapter-cloudflare 8.0.0-next.7,
  Vite 8, vite-plugin-svelte 7, TypeScript 6, and Vitest 5.
- Move kit config into vite.config.ts, replace $lib with #lib subpath
  imports, extend $app/tsconfig, and declare env vars in src/env.ts.
- Select the database driver at build time through the #db subpath import:
  the atlantis-d1 condition resolves the D1 driver (cloudflare:workers),
  the default resolves the SQLite driver. Routes no longer thread platform.
- Pair D1 with adapter-cloudflare and SQLite with no adapter, so plain dev
  never starts workerd and SQLite builds never overwrite the worker output.
- Patch runed useSearchParams to use the kit 3 goto options.
- Build a SQLite bundle inside the Playwright web server and run Node 24
  in the nix shell to meet the kit 3 Node minimum.

```

## Parents

- [e9dbda72d5a0ec91b924442722dbcbb5cfbef703](https://git.cafe/flambo/atlantis/commit/e9dbda72d5a0ec91b924442722dbcbb5cfbef703?format=markdown)

[Source at this commit](https://git.cafe/flambo/atlantis/tree/1576b0da8bdde75d510c38b8faa46c3935f5b6a0?format=markdown)
