Comments 2
Hot reload какой-нибудь есть?
Да, есть. Для обычной разработки можно запустить dev server через Gradle continuous build:
./gradlew -t :view-frontend:jsBrowserDevelopmentRun
После этого приложение открывается на http://localhost:3000, и изменения в Kotlin-коде пересобираются и прилетают в браузер. В документации Kilua отдельно рекомендуют для разработки именно JS target: Kotlin/JS компилируется быстрее, и для него полностью поддержан HMR.
Если нужен именно Hot Module Replacement без полного reload страницы и с сохранением состояния, Kilua тоже это поддерживает через HMR Webpack/Vite. Там надо запускать приложение через startApplication(::App, bundlerHot()), переопределить start(state: String?), а при необходимости вернуть сериализованное состояние из dispose(). В моем примере state-preserving HMR отдельно не настраивал, но через jsBrowserDevelopmentRun все работает.
Kilua: просим Kotlin сделать вид, что он React