Fork me on GitHub
Jakub Holý (HolyJak)06:09:41

Hi @pez! I am fixing fulcro-exercises ( for Calva based on your info. Instead of your PR (thx for it!) I decided to simplify and use npx ... instead of clojure -M:... But I do not get how to use that best with Calva's Jack-in. Does calva run shadow-cljs watch <build>? It does not seems so. But if I run it manually from terminal then there is no point for Calva to start a repl b/c watch already did it??? 🙏


This will depend on who is the target audience for the repo. A lot of Calva users will try to use Calva Jack-in and if that doesn’t work, probably struggle a little bit and then give up. You can probably mitigate this a bit by clearly documenting how the project REPL is supposed to be started.


The way Calva jack-in starts the repl is to issue:

npx shadow-cljs -d cider/cider-nrepl:0.26.0 watch :main :workspaces
(The actual builds watched will depend on what the user uses in the start builds quick-pick menu.)


Jack-in is mainly a way to help you start the REPL in a way that satisfies Calva’s dependencies (and thus allow the project files to not bother with what Calva currently needs).


Not sure if I am answering your questions. 😃

Jakub Holý (HolyJak)07:09:51

No 🙂 The question is, how do I have to change so that Calva jack in works. currently when I try it as described at at first NOTE: under, it finally fails with > Failed starting cljs repl for build: :main. Is the build running and connected? and there seems nothing running at localhost:8000 I.e. it seems that watch has not really been started.


Try with the shadow-cljs project type.


I’m in gather town ready to screen share with you, maybe we can get this going easier that way.

Jakub Holý (HolyJak)08:09:07

awesome, thank you! How do I connect?

Jakub Holý (HolyJak)08:09:22

(I have tried with "shadow-cljs" instead of "deps.edn + shadow.cljs" but it complained about not finding a valid build or st.)

Jakub Holý (HolyJak)08:09:08

Sorry, it is working now

Jakub Holý (HolyJak)08:09:24

Perhaps I failed to check :main when I tried it last time

Jakub Holý (HolyJak)08:09:51

And navigating to dependencies now works. Thanks a lot!!!


There’s an invite link in the channel (latest post from me), and link + password in the channel topic.


> And navigating to dependencies now works. Thanks a lot!!! You’re welcome. 😃 It was probably a dependency thing then.


FYI, I’d love to have a chat in Gather regardless that you’ve got this working. 😍

Jakub Holý (HolyJak)11:09:22

@pez ok! I am in there now


It was great to meet!


Dear Calva friends, every Wednesday I am sponsored by my employer ( to work with open source Clojure stuff all day! It’s of course most often quite Calva related. I want to try to use Gather Town to give us a space where we can chat, share screens as such and will mostly hang there during all Wednesdays. Please join and hang there you as well. Don’t hesitate to say hello to me if you find me there. I’ll probably be muted, and not looking at that particular tab in my browser, but I think there is a way for you to make me aware that you want to talk. The invite link is here: I’ll put the password in the channel topic.

💜 4
calva 2
Ashley Porciuncula10:09:58

Hey Pez! This is a fantastic idea, I love seeing people embrace open hangout spaces. How has your experience been with Gather Town as a platform?


I think Gather Town is great. Both for this use and for conferences (which I have only experienced as an attendee, at #clojured this spring). Yesterday I had three visitors and could get much richer feedback than I usually can get. It is wonderfully easy to share screens!

🙌 2

The live share can also share the web server port when doing web dev, but it fails miserably as it cannot connect to the shadow-cljs hot reload port. Is there a way to share extra ports manually? Or configure it so that it comes automatically


I’m pretty sure you can share whatever ports manually with LiveShare.


Has anyone here had experience using Calva with a juxt/edge project?


@jarcane I have. Well, I’m not a user of Edge, but I once created some Calva custom connect sequences for it.


you might be exactly who I need to talk to then. XD


we've got an edge project, and i've been using the included rebel script to start our REPL for clj/cljs; but I cannot for the life of me figure out how to get Calva to talk to the cljs part.


I’m running live Calva support in Gather today, @jarcane, see some posts above. Only if you prefer that of course. Otherwise we can try figure it out via text here.

👍 2

Text is easier for me to remember. 😅


Cool. Can you describe in more detail the steps you take to connect?


(apologies, had to step out) Basically as in the docs for Edge. I do

../bin/rebel --cljs --nrepl -A:dev:dev/build:build


and then do the connect to the running REPL option from calva


I can see by the build files and the REPL itself that it's using Figwheel Main to do the CLJS stuff, auto-reloading works and all, but Calva can't find it, just complains about missing .cljs.edn files


Does the project have an Calva configuration? For instance do you see a project type with “Edge” or something like that in the connect menu?


I've just been using the deps.edn option and connecting to the port from the terminal repl


I have very little experience with Edge. Here’s the configuration I added to the Edge template.


ooh, this looks familiar; like code/setup wise


oh, and we actually have this file in our version of the template alread.y XD


What you can try is to add those settings to the workspace settings of vscode in your project. Then use Calva Jack-in to start the. project, selecting the Edge Figwheel Main project type.


yes! finally, that got it. I have to make sure to reload the browser once the CLJ REPL starts so the CLJS will trigger and work, but everything's good now.


I just had to update the "Clojure CLI" reference to "deps.edn", and then do "Select CLJS Build connection" from the command palette. Otherwise it doesn't seem to pick up the CLJS connection properly


Ah, thanks for reporting. That should be changed in the Edge template repo. I didn’t think about that when renaming the Clojure CLI project type…


The customCljsRepl part also seems to both redundant, and deprecated; works fine without it (provided I run the CLJS build connection separately as mentioned)


I'll be out of office (gather) for some hours now. Doesn't mean you others can't party there. 😎

🥳 2

A new Calva version is out, v2.0.211, containing a setting that people used to Emacs might like to utilize: • Thanks @amar for the PR! gratitude 💜

👍 10
❤️ 2

cool. I might use this as well, and no emacs here :)