Problem: swave is not usable from scala.js
Especially synchronous pipelines/graphs, which don't need to dispatch onto any Executors (which aren't readily available in a non-JVM environment), should work nicely with scala.js.
Solution: enable scala.js support by modifying the build setup and properly separating dependencies.
I guess the biggest challenge will be to dig around the jctools integration.
TimerWheelcould be converted to scala- reactive streams api can be converted to scala
- typesafe config could somewhat be replaced by shocon on the js side (not yet released, part of akkajs)
- not sure if there is a scala-logging version for scalajs
Did some experiments on https://github.com/sirthias/swave/compare/master...danielwegener:scalajs (currently blocked by missing Config.getBytes in shocon)
Cool, thank you, Daniel! My initial thought with this was to not offer the async parts at all on the JS side, so no timerwheel and no jctools. As you say the RS-API and scala-logging are easy to reimplement and if there is replacement for typesafe-config then it all comes to down to organizing the project code in a way that allows for an efficient dev process with little to no duplication between the JVM and JS sides of swave.