cider 2026-09-07

I've been using cider-nrepl 0.58.0 with shadow-cljs, and today I checked my dependencies and bumped cider-nrepl to the latest, 0.62.2, but then when starting shadow got a bunch of warnings about piggieback/wrap-cljs-repl not present on the middleware list. I played around and this actually happens with 0.59.0. These are just warnings? Everything should be fine? For now I'm sticking with 0.58.0.

That's a feature, not an issue, although I guess that's not immediately obvious.

So how do I get rid of the warnings?

Sorry for taking long to respond. Like the linked PR mentions, you need to inject [cider.nrepl/cider-middleware, cider.piggieback/wrap-cljs-repl] as nREPL middleware in CLJS projects, and not just [cider.nrepl/cider-middleware] . How do you start your project REPL? Is it via jack in or some other way?

I'm seeing these warnings too. It could be I'm doing something wrong. Here's an attempt a repro deps.edn:

{:aliases
 {:repl-test
  {:extra-deps {nrepl/nrepl {:mvn/version "1.7.0"}
                cider/cider-nrepl {:mvn/version "0.62.2"}
                org.clojure/clojurescript {:mvn/version "1.12.145"}
                cider/piggieback {:mvn/version "0.7.0"} }
   :main-opts ["-m" "nrepl.cmdline"
               "--middleware" "[cider.nrepl/cider-middleware, cider.piggieback/wrap-cljs-repl]"]}}}
And a launch gives:
$ clojure -M:repl-test
WARNING: Middleware #'cider.piggieback/wrap-cljs-repl is required by #'cider.nrepl/wrap-complete but is not present in middleware list.
WARNING: Middleware #'cider.piggieback/wrap-cljs-repl is required by #'cider.nrepl/wrap-debug but is not present in middleware list.
WARNING: Middleware #'cider.piggieback/wrap-cljs-repl is required by #'cider.nrepl/wrap-info but is not present in middleware list.
WARNING: Middleware #'cider.piggieback/wrap-cljs-repl is required by #'cider.nrepl/wrap-inspect but is not present in middleware list.
WARNING: Middleware #'cider.piggieback/wrap-cljs-repl is required by #'cider.nrepl/wrap-macroexpand but is not present in middleware list.
WARNING: Middleware #'cider.piggieback/wrap-cljs-repl is required by #'cider.nrepl/wrap-ns but is not present in middleware list.
WARNING: Middleware #'cider.piggieback/wrap-cljs-repl is required by #'cider.nrepl/wrap-out but is not present in middleware list.
WARNING: Middleware #'cider.piggieback/wrap-cljs-repl is required by #'cider.nrepl/wrap-spec but is not present in middleware list.
WARNING: Middleware #'cider.piggieback/wrap-cljs-repl is required by #'cider.nrepl/wrap-stacktrace but is not present in middleware list.
WARNING: Middleware #'cider.piggieback/wrap-cljs-repl is required by #'cider.nrepl/wrap-test but is not present in middleware list.
WARNING: Middleware #'cider.piggieback/wrap-cljs-repl is required by #'cider.nrepl/wrap-tracker but is not present in middleware list.
nREPL server started on port 39913 on host 127.0.0.1 - 

I have this alias in deps.edn. I start shadow in a separate terminal and then connect to it from Calva in VS Code.

{:aliases 
 {:shadow-watch {:main-opts ["-m" "shadow.cljs.devtools.cli" "watch"]
                 :extra-deps {cider/cider-nrepl {:mvn-version "0.62.2"}
                              cider/piggieback {:mvn/version "0.7.0"}}}}
I think shadow finds and automatically injects cider-middleware, but I don't think it automatically grabs piggieback. Maybe? I don't know, it's sort a mystery to me how this all works, I'm just glad it works. I did try and put
:nrepl {:middleware [cider.piggieback/wrap-cljs-repl]}
in the shadow-cljs.edn file, but I still got the same warnings about piggieback. I have it still there, but commented out. I'm getting these warnings, but everything is still working. I don't know how, but it is.

Yes, things seem to be working fine for me too. I'm just ignoring the warnings for now.

This indeed is a bug. Fix suggested in https://github.com/clojure-emacs/cider-nrepl/pull/1050. Thank you for reporting and providing the reproducer, @michaeljweaver @lee!

❤️ 1