Stealjs has mode for running js in web worker. I dont know why its not default.
You can use web workers in Sapper. https://svelte.technology/repl is a Sapper site; the components are compiled as-you-type in a worker. What do you mean exactly?
https://donejs.com/Features.html#worker-thread-rendering
Oh. Well it sounds like that's a virtual DOM thing running in a worker - Svelte doesn't use a virtual DOM so there's not really anything to do here. Of course you can still handle your own intensive computations on a worker thread if you find they're bogging down your app.
"It essentially allows your application to run entirely within a Web Worker, freeing the main thread to only update the DOM"
I imagine running web worker from web worker can get ridicilous, is why that feature isn't on by default.
As @Conduitry said, Svelte's approach to rendering is different to VDOM-based frameworks, which means your app doesn't have the same performance issues in the first place.
But moreover, workers aren't a panacea. They come at the cost of increased complexity and reduced flexibility (e.g. you can't access the DOM inside a worker, which prevents you from doing all kinds of very useful things), and the theoretical performance benefits can be undone by the cost of (de)serialization, which needs to happen in both threads (i.e. you can still block the main thread). And of course they force everything to happen asynchronously, which adds further complexity to your app.
It's true that computationally expensive work (such as my example above of the Svelte REPL doing compilation inside a worker) should happen off the main thread, but it's better if that's in the user's control and not via some magic abstraction.
Most helpful comment
As @Conduitry said, Svelte's approach to rendering is different to VDOM-based frameworks, which means your app doesn't have the same performance issues in the first place.
But moreover, workers aren't a panacea. They come at the cost of increased complexity and reduced flexibility (e.g. you can't access the DOM inside a worker, which prevents you from doing all kinds of very useful things), and the theoretical performance benefits can be undone by the cost of (de)serialization, which needs to happen in both threads (i.e. you can still block the main thread). And of course they force everything to happen asynchronously, which adds further complexity to your app.
It's true that computationally expensive work (such as my example above of the Svelte REPL doing compilation inside a worker) should happen off the main thread, but it's better if that's in the user's control and not via some magic abstraction.