This blog used to be powered by Sapper, but the project got cut for some reason by Svelte Team. Replacement SvelteKit, which to be honest is a stupid fucking name, was used for a while for my new products before their major changes that involved routing changes.
So I dropped it and went to Lit.dev, which if you ask me is so much better combined with router-slot. There's no enforced bull shit like Sapper or SvelteKit and the performance is snappy AF. Google discovers everything like it were run on the server side.
I've been migrating my difficult to migrate project to Lit and completely removed Sapper from it yesterday. Today continues with small bug fixes until it is stable and working much better than it was with Sapper.
The one thing I found stupid AF about Svelte was the story around reactivity. For objects and arrays, you must this.foo = foo in order to request an update after you make changes to the foo object itself. I hated this pattern with a passion. You also have a choice of putting the object into a Writable Store or whatever and then subscribe to it. These patterns suck so much ass. Lit got these patterns so right with just requestUpdate() and using property setters to call it. It is so simple too. Use context for doing child subscriptions.
SvelteKit lost a user and gave me a chance to find Lit.dev and I could never be happier. Never Svelt, Never Sapper, Never SvelteKit, Never again. Entirely frameworkless. No more framework chasing. Web standards are here to stay.