Fork me on GitHub
koala punch19:03:14

has anyone got fireplace working with shadow-cljs?

koala punch19:03:46

i have it working fine with figwheel, but when i try and connect to a runnign shadow-cljs repl i get compileexceptions

koala punch19:03:05

supposedly you can run this: (shadow.cljs.devtools.api/nrepl-select :id-of-build)


@christopher.paul don't do that, do :Piggieback :id-of-build

koala punch21:03:24

that’s all i hae to do? @dominicm?

koala punch21:03:37

normally my fireplace connects automatically

koala punch21:03:41

but with the shadow one

koala punch21:03:44

it doesn’t seem to…


I'm not certain if shadow writes the .nrepl-port, I've never checked.

koala punch21:03:06

i’ve manually created a file onw

koala punch21:03:09

for .nrepl-port

koala punch21:03:16

maybe it will just work…


You can also use :Connect @christopher.paul

koala punch21:03:28

i know, but i’m lazy 🙂

koala punch21:03:45

i’ve added the .nrepl_port maybe it is connecting and i didn’t realise


@christopher.paul I worked with thheller to get it working a little while ago 🙂


shadow-cljs writes a file with the port inside target/, someone should make a pr on fireplace to use that

koala punch21:03:54

yea i saw you guys talking on one of the github issues

koala punch21:03:10

you have just made me a very happy koala

koala punch21:03:42

i used the shadow lein template, these .edn files seem much nicer than a project.clj


@mynomoto eh, that seems inappropriate for A) how fireplace works B) for shadow to violate how other nrepl things work. I'm sure there's a good reason of course, but it seems a strange thing to add to fireplace. Not sure.

koala punch21:03:37

well i think fireplace is already looking for one file, i think mynomoto is suggesting to try looking in a second place…

koala punch21:03:03

or maybe shadow could just write to the same place as lein and boot 😄


fireplace looks recursively upwards for .nrepl-port files, and scopes the connection appropriately.

koala punch21:03:02

maybe i’ll create a command in my vim rc so i don’t have to manually create .nrepl_port files


@christopher.paul thomas said that he wants to avoid conflicts with files written by other tooling as there is reason to run both lein or boot and shadow in the same project.


@dominicm shadow uses target/shadow-cljs/nrepl.port, so that won't work as it is.

koala punch21:03:34

thanks for your help, @dominicm


@mynomoto Makes sense, I had thought it might be like that.