Svelte 5 Migration Without the Mess

A test-first migration checklist

Use this before touching a working Svelte 3 or 4 application. The goal is not to remove every old-looking line. The goal is to keep the application working while you change it.

0 of 40 checks completed

Stop rule: If the baseline does not pass before migration, stop. Otherwise you will not know whether the migration caused the failure or merely revealed it.

1. Define the boundary

Know exactly what is changing and how you will recover.

2. Establish a passing baseline

Capture what “working” means before changing syntax.

3. Choose and pin the target

Reduce moving parts so a failure has fewer possible causes.

4. Migrate one component at a time

Make a behavior map before changing the component API.

5. Control shared state

A gradual migration may keep stores and runes side by side.

6. Protect SSR and hydration

Browser success does not prove server success.

7. Verify after every small change

Keep the suspect list short.

8. Release with a recovery plan

Production is another test environment, only less forgiving.

Evidence record

A few recorded facts are more useful than “I think it passed.”