based on changes from upstream rules_svelte Their code was using run_node() instead of ctx.actions.run(), which seems to create a new worker for every CPU core, instead of respecting the standard limit of 4.
The separate repo made it difficult to update the rules, and made things more complicated than they needed to be.