Open
Description
Describe the bug
With a brand new SvelteKit project with Svelte 5, I realized that all my states are reset whenever HMR updates
Whenever I change anything in the HTML part of a Svelte file, HMR kicks in and resets all my $state
, which makes it very cumbersome to develop a large and complex form
I read that earlier version support directives such as @hmr:keep-all
or preserveLocalState
, but according to sveltejs/kit#12985, these are outdated and no longer used
So I am unsure what to do now to preserve states between HMR reloads - is this a bug or a feature request?
Reproduction
Reproduction link in SvelteLab: https://www.sveltelab.dev/63iv5zkf3ed2806
Steps to reproduce:
- Check the checkbox
- Click the button
- Change something in the HTML, like adding more text to the paragraph
- All states get reset - the checkbox gets unchecked, and
text
resets to initial value 🚩
Logs
No response
System Info
System:
OS: Linux 5.15 Ubuntu 22.04.4 LTS 22.04.4 LTS (Jammy Jellyfish)
CPU: (8) x64 AMD Ryzen 7 8845HS w/ Radeon 780M Graphics
Memory: 13.97 GB / 14.90 GB
Container: Yes
Shell: 5.1.16 - /bin/bash
Binaries:
Node: 23.3.0 - ~/.local/share/mise/installs/node/23/bin/node
npm: 10.9.0 - ~/.local/share/mise/installs/node/23/bin/npm
pnpm: 9.14.2 - ~/.local/share/mise/installs/node/23/bin/pnpm
npmPackages:
svelte: ^5.1.13 => 5.1.13
Severity
annoyance