shadow-cljs

pez 2025-05-09T20:21:18.162099Z

I can’t start nrepl with shadow middleware since 3.0.0:

clojure -Sdeps '{:deps {nrepl/nrepl {:mvn/version,"1.3.1"},cider/cider-nrepl {:mvn/version,"0.55.4"}}}' -M -m nrepl.cmdline --middleware "[cider.nrepl/cider-middleware shadow.cljs.devtools.server.nrepl/middleware]"
Syntax error compiling at (shadow/cljs/devtools/server/nrepl.clj:1:1).
namespace 'cider.piggieback' not found 
Version 2.28.23 was the last version this worked. I’ve also tried with not adding the middleware, but that gives other errors:
Execution error (ClassNotFoundException) at jdk.internal.loader.BuiltinClassLoader/loadClass (BuiltinClassLoader.java:641).
com.google.javascript.jscomp.JsAst
Cljs builds started
Execution error (ExceptionInInitializerError) at java.lang.Class/forName0 (Class.java:-2).
Exception java.lang.ExceptionInInitializerError [in thread "nREPL-session-dfb9ba21-00ca-4ffa-b305-63f0d8d1213c"]

thheller 2025-05-10T05:33:16.743349Z

I suspect you have an older closure-compiler/clojurescript version pinned?

thheller 2025-05-10T05:33:34.156019Z

https://clojars.org/thheller/shadow-cljs

thheller 2025-05-10T05:33:50.348689Z

now requires com.google.javascript/closure-compiler-unshaded v20250407 and org.clojure/clojurescript 1.12.38

thheller 2025-05-10T05:34:28.904539Z

probably have an older clojurescript version hardcoded in your deps that still tries to use classes the closure-compiler removed

👀 1
thheller 2025-05-10T05:34:56.478289Z

blame piggieback for that shitty exception, due do its very weird dynamic loading scheme it sort of creates a mess

pez 2025-05-10T06:53:43.244809Z

Wow. I had missed the memo about any ClojureScript beyond 1.11.132.

pez 2025-05-10T06:54:05.380289Z

It works if I upgrade. Thanks!