Fork me on GitHub
#cider
<
2019-11-06
>
jeeq09:11:51

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

bozhidar10:11:47

@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.

jeeq11:11:55

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 (https://shadow-cljs.github.io/docs/UsersGuide.html#_clojure_repl)

jeeq11:11:10

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

alexyakushev14:11:19

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

alexyakushev14:11:42

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.

manuel15:11:41

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

bozhidar15:11:17

@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.

dpsutton15:11:49

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

bozhidar15:11:01

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

dpsutton15:11:12

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

bozhidar15:11:13

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

alexyakushev15:11:41

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