Adding some features to a VS Code extension (not Calva) written in TypeScript got me to realize how iterating and tweaking a feature is painful in the world of βre-compile, re-start, test, edit, re-compile, re-start, test, ...β. When I could instead have a REPL and just cut all that nonsense. I already found myself using Joyride to explore the VS Code API and test things quickly. Then translated to TypeScript, but it was still that the restart was needed when I had updated the TS code. So I decided to convert the project to ClojureScript. After some porting, and heavy use of @mauricio.szaboβs JavaScript->ClojureScript converter (built-in to Calva) it was a CLJS project I was running and shadow-cljs hot-reload was making the restarts history.
Here's a nice twist to the story. I was using the REPL all the time during the porting. It all went well. Until I was requiring clojure.pprint. Which gave me strange error about that clojure.pprint was not available. ... WTH? ... Took me quite a while to realize what was going on. I had been using the Joyride REPL all the time! It's quite mind boggling with the high fidelity level of SCI flavoured Clojure.
The best upgrade for me would be to handle await in some way. Assuming Promesa would work for me. π
Glad to know it's helping! I'm trying to make the conversion even better, but I found myself too busy with other things, but let me know if there's something small that I can help that will make the experience easier π
(I know adding the right js/ namespace is one π)