jsa-aerial / hanami

Interactive arts and charts plotting with Clojure(Script) and Vega-lite / Vega. Flower viewing 花見 (hanami)
MIT License
389 stars 12 forks source link

Cannot run example #13

Open Ramblurr opened 3 years ago

Ramblurr commented 3 years ago

I'm interested in hanami. I tried to play with the example, but it isn't starting up.

Reproduce (as described in readme):

$ cd hanami/examples/ClientOnly
$ lein repl
[WARNING] No nREPL middleware descriptor in metadata of #'cider.piggieback/wrap-cljs-repl, see nrepl.middleware/set-descriptor!
nREPL server started on port 42029 on host 127.0.0.1 - nrepl://127.0.0.1:42029
ERROR: Unhandled REPL handler exception processing message {:id 3db52c4f-97a4-4b9b-b802-5b4fbeb52b98, :op clone}
java.lang.NullPointerException
    at clojure.core$deref_future.invokeStatic(core.clj:2300)
    at clojure.core$deref.invokeStatic(core.clj:2320)
    at clojure.core$deref.invoke(core.clj:2306)
    at cider.piggieback$wrap_cljs_repl$fn__2945.invoke(piggieback.clj:209)
    at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__2583.invoke(middleware.clj:22)
    at nrepl.server$default_handler$fn__1572.invoke(server.clj:130)
    at nrepl.server$handle_STAR_.invokeStatic(server.clj:22)
    at nrepl.server$handle_STAR_.invoke(server.clj:19)
    at nrepl.server$handle$fn__1543.invoke(server.clj:39)
    at clojure.core$binding_conveyor_fn$fn__5754.invoke(core.clj:2030)
    at clojure.lang.AFn.call(AFn.java:18)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
$ lein version
Leiningen 2.9.5 on Java 11.0.10 OpenJDK 64-Bit Server VM
jsa-aerial commented 3 years ago

There are two points. Currently Java 8 is needed as Java 9+ breaks several dependencies and causes reflection issues. I need to find a space of time to fix all of that so Java 11 can be supported.

The second point has to do with the 'assumed' dev tooling:

The error is a dev dependency/version skew issue. I have this in my ~/.lein/profiles.clj:

:user {:plugins [ ... ^:replace [cider/cider-nrepl "0.17.0"]] :dependencies [[org.clojure/tools.nrepl "0.2.13"] ....]]}

I am guessing this stuff is probably 'out of date' for you. I have a tendency to have this older configuration as upgrading emacs and cider is typically very painful. You would need to change this stuff (and the corresponding things in project.clj) to reflect your setup. Or, for just trying this stuff out, include the above in the project.clj to make things at least run. You won't be able to connect your cider (assuming it is newer) though.

Optionally you can change the project.clj to use your setup. Maybe you do not even use figwheel - many have moved on to shadow-clj and I would like to as well except I am sick of sorting out all the breaking tool changes. The code in the clientex/core.cljs is the only stuff you really need - and should be able to get that to work with any tool/dev setup.

/Jon

jsa-aerial commented 3 years ago

Also, this is a good place for discussions:

https://clojurians.zulipchat.com/#narrow/stream/210075-saite-dev

And for the client only stuff in particular:

https://clojurians.zulipchat.com/#narrow/stream/210075-saite-dev/topic/client.20only