Fork me on GitHub
#boot
<
2018-10-16
>
minikomi03:10:04

started a new project with shiny cider, boot-cljs-repl versions and can't for the life of me get the repl to connect

minikomi03:10:52

I get as far as

<< started Weasel server on  >>
<< waiting for client to connect ... Connection is 
Writing boot_cljs_repl.cljs...
And i see my cljs being recompiled and reloaded.. but the websocket never connects

minikomi03:10:57

weird. changed the order of my pipeline and it magically works now

minikomi03:10:11

not happy about it but can get on with work for now

richiardiandrea03:10:06

Cool, yeah I never got to fix that, weird that investing works ... 🤷

hmaurer18:10:38

I am getting the following error:

java.lang.Exception: No namespace: reply.eval-modes.nrepl found
with
BOOT_CLOJURE_VERSION=1.10.0-beta3
BOOT_VERSION=2.8.2
when running boot repl Any idea why?

hmaurer18:10:44

perhaps it will give me a hint, even if it’s lein

hmaurer18:10:56

yeah no, I’ve no idea what’s going on :thinking_face:

seancorfield19:10:30

I suspect -- based on the lein issue and repro'ing your error locally -- that this is due to using nrepl in a context that expects org.clojure/tools.nrepl @hmaurer

hmaurer19:10:02

hum; all I did was setup a very basic boot project and run boot repl

seancorfield19:10:33

java.lang.Exception: No namespace: reply.eval-modes.nrepl found
REPL-y 0.4.1, nREPL 0.4.4
Shows nrepl "0.4.4" which is the "new" version of nREPL. Yeah, it's nothing you're doing wrong.

hmaurer19:10:07

So should I just ignore this error? Or can I fix it?

seancorfield19:10:38

Use Boot 2.8.1

BOOT_CLOJURE_VERSION=1.10.0-beta3 BOOT_VERSION=2.8.1 boot repl
...
nREPL server started on port 55602 on host 127.0.0.1 - 
REPL-y 0.3.7, nREPL 0.2.13
Clojure 1.10.0-beta3
This uses the older REPL-y and org.clojure/tools.nrepl instead.

hmaurer19:10:21

ah yep, that fixed it

seancorfield19:10:46

Boot's changelog shows that 2.8.2 is a breaking change https://github.com/boot-clj/boot/blob/master/CHANGES.md

seancorfield19:10:09

(breaking behavior on a PATCH LEVEL release seems... inadvisable)

hmaurer19:10:25

Follow up question: I am (stupidly) struggling a bit to setup a nice repl-driven dev env. I added org.clojure/tools.namespace to my project and tried to use (refresh), but, while it appears to be reloading my app’s namespace, it doesn’t appear to change the value of a var I shoved in there (`app/answer`)

hmaurer19:10:27

Any pointer?

hmaurer19:10:59

ps: I don’t want to use CIDER/similar right now

seancorfield19:10:06

No clue. I've never had much luck with the "reloaded" workflow. But then we have a codebase with some legacy globals (that we're moving away from).

hmaurer19:10:26

I assume you use CIDER to reload stuff/work with the REPL then?

hmaurer19:10:43

How do you reload things in the repl?

hmaurer19:10:20

How do you iteratively develop / test things then? restarting the repl takes ages

seancorfield19:10:32

I almost never need to restart my REPL.

hmaurer19:10:54

Well, how do you modify some code and test that new code in the repl then?

seancorfield19:10:18

I modify the code and eval the form (into the REPL).

hmaurer19:10:40

you copy-paste it? :thinking_face:

seancorfield19:10:47

(I also don't type into the REPL -- per Stu Halloway's REPL-driven development talk)

seancorfield19:10:30

I use Atom/ProtoREPL. Evaluating code is just control-, b to evaluate a form or control-, B to evaluate the top-level form.

hmaurer19:10:24

Oh, I use atom as well. I’ll try protorepl

seancorfield19:10:36

I can do that without saving the file so it's a very smooth workflow. I have (comment ...) forms with any additional code I need -- and that's also where I write "experiments" as I work, some of which might become tests later.

seancorfield19:10:17

The (comment ...) form will have stop/start calls for my test system component if needed, so I can easily restart my app if I need to -- but mostly I can start it up once (eval'ing (def a (component/start (app/system ...))) from a comment form) and then just keep eval'ing code into that running image.

hmaurer19:10:49

@seancorfield do you ever get this when an error occurs? https://puu.sh/BM7f0/f4a8e481ca.png

hmaurer19:10:02

it seems to stick around

hmaurer20:10:44

@seancorfield any idea? 😞

seancorfield20:10:56

@hmaurer Sorry, was wrapped up in refactoring tests. Yes, that's the "ongoing execution" marker in ProtoREPL. You can clear it with control-shift-c

hmaurer20:10:13

Oh no worries. And thanks! I’ll try that

seancorfield20:10:10

(it would be nice if it detected exceptions from the REPL and cleared it automatically but...)

seancorfield20:10:37

BTW, there's a #protorepl channel if you have non-Boot questions about Atom/ProtoREPL.