Skip to content

Upgrade to Svelte 5, Vite 6 & update Go dependencies#1

Merged
kushiemoon-dev merged 9 commits intomainfrom
upgrade/svelte5-vite6
Feb 12, 2026
Merged

Upgrade to Svelte 5, Vite 6 & update Go dependencies#1
kushiemoon-dev merged 9 commits intomainfrom
upgrade/svelte5-vite6

Conversation

@kushiemoon-dev
Copy link
Owner

Summary

Full dependency migration and Svelte 5 runes adoption.

  • Go dependencies: Fiber v2.52.11, go-sqlite3 v1.14.34, golang.org/x/* security patches
  • Frontend tooling: Svelte 3 → 5, Vite 4 → 6, removed svelte-preprocess (now built-in)
  • Svelte 5 runes migration: All 14 .svelte files migrated from legacy syntax to runes
  • Entry point: Updated main.ts to use Svelte 5 mount() API

Migration details

Before (Svelte 3) After (Svelte 5)
export let foo let { foo } = $props()
$: val = expr let val = $derived(expr)
$: { sideEffect() } $effect(() => { sideEffect() })
let x = value let x = $state(value)
on:click={fn} onclick={fn}
createEventDispatcher() Callback prop via $props()
new App({ target }) mount(App, { target })

Scope

Go: go.mod, go.sum
Tooling: package.json, svelte.config.js, tsconfig.json, main.ts
Components: Sidebar, MetadataModal, AnalysisModal, RenameModal, ConvertModal
Pages: Home, Search, Queue, Files, History, Settings, About, Terminal
Root: App.svelte

- fiber v2.52.10 -> v2.52.11
- go-sqlite3 v1.14.33 -> v1.14.34
- golang.org/x/crypto v0.33.0 -> v0.48.0
- golang.org/x/net v0.35.0 -> v0.50.0
- golang.org/x/sys v0.30.0 -> v0.41.0
- golang.org/x/text v0.22.0 -> v0.34.0
- Svelte 3.59 -> 5.x
- Vite 4.5 -> 6.x
- @sveltejs/vite-plugin-svelte 2.5 -> 5.x
- svelte-check 3.8 -> 4.x
- Remove svelte-preprocess (built into Svelte 5)
- Remove @tsconfig/svelte (inline tsconfig for Svelte 5)
- Update svelte.config.js to use vitePreprocess from plugin
About, Terminal, Sidebar: on:click → onclick, export let → $props()
MetadataModal, AnalysisModal, RenameModal, ConvertModal:
$props(), $derived(), $effect(), $state(), onclick/onkeydown
Search: onkeypress, onclick
History: $props(), $derived(), $state(), onclick/onkeydown/onchange
…runes

Queue: $derived() for store subscriptions
Files: $derived(), $state(), onclick/onchange
Settings: $effect(), $state(), onclick/onchange, stopPropagation
Home: $props() with onContentCleared callback (replaces createEventDispatcher),
$derived(), $effect(), $state(), onclick/onkeydown
App: on:contentCleared → onContentCleared prop
Update package.json.md5 hash
Replace deprecated new App() constructor with mount() from svelte.
Fixes blank screen on startup.
@kushiemoon-dev kushiemoon-dev merged commit b85b989 into main Feb 12, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant