Fork me on GitHub

Hi could I ask how one can start up all the repls properly? I recently created a new app with luminus template with +shadow-cljs and +re-frame option. I’m able to jack-in to clj (backend) nrepl to start up the server etc etc (from what I understand cider-jack-in-clj just runs lein repl? and injects needed things. Thank you for the recent post @bozhidar 🙂 ) but now I’m confused how I can have another nrepl running for cljs. +shadow-cljs option in luminus adds lein shadow command (`lein shadow watch app`) that starts up the shadow-cljs process. Is there way for me to work with cider to start it up? I prefer not to go to terminal to start up if possible - mostly because just running lein shadow watch app doesn’t inject cider-nrepl that spacemacs uses (latest available). Thank you very much in advance - from a noob starting to play with clojure


@jeeq The shell command is supposed to start a plain Clojure REPL which gets upgraded to ClojureScript by running some Clojure form in it. I have no idea what those commands you mention are doing, but I’m reasonably sure you don’t really need to run them with cider-jack-in.


it looks like the shadow plugin tries take care of npm stuff and then run lein run -m shadow.cljs.devtools.cli watch app or something like it. Sorry for the confused beginner question. It looks like the lein-shadow plugin does some shadow-cljs config generating that may be bit of hassle to work from repl like it is here (


I may just keep shadow-cljs separate and just point cljs stuff to proper nrepl with sesman


Did anything recently change in CIDER that could lead to Emacs memory leaks and terrible slowdowns?


In the past few versions, CIDER has been an absolute turtle for me. I haven't analyzed the reason yet, but cider.nrepl.middleware.track-state appears here and there.


I am using the latest version on different projects (little-to-medium size) and I haven't experienced any slowness yet.


@alexyakushev I don’t even remember the last time we’ve made changes to track-state. In general there haven’t been any big changes on the cider-nrepl in the past few releases, apart from moving some things out cider-nrepl and into orchard.


does parse edn run on the response from track state? any chance the parser is slow and big namespaces choke it?


I don’t recall. I think it was just a list of strings, which we probably read with the Elisp reader.


yeah i thought i remembered it being bencoded nrepl dicts. but just wondering if that was a change recently


Just checked the code - there’s no use of parseedn there.


@bozhidar Thanks. I thought maybe something big happened lately. I'll come back with more details.