metasoarous / odum

Program for running simulations on Odum graphs
5 stars 0 forks source link

repl startup #1

Open spacegangster opened 2 years ago

spacegangster commented 2 years ago

Hi again Christorpher! I'm trying to run it. I got past a couple of exceptions, added a couple of deps (including jaxb something and Datascript update)

Now getting this with cemerick.piggieback. I've tried cider/piggieback 0.3.10, this led into another exception Disabling piggieback gives another.

[WARNING] No nREPL middleware descriptor in metadata of #'cemerick.piggieback/wrap-cljs-repl, see nrepl.middleware/set-descriptor!
nREPL server started on port 9032 on host 127.0.0.1 - nrepl://127.0.0.1:9032
ERROR: Unhandled REPL handler exception processing message {:id cc8c4245-1dd9-49a6-9056-fb84312759c1, :op clone}
java.lang.NullPointerException
        at clojure.core$deref_future.invokeStatic(core.clj:2290)
        at clojure.core$deref.invokeStatic(core.clj:2310)
        at clojure.core$deref.invoke(core.clj:2296)
        at cemerick.piggieback$wrap_cljs_repl$fn__44243.invoke(piggieback.clj:288)
        at clojure.tools.nrepl.middleware$wrap_conj_descriptor$fn__40209.invoke(middleware.clj:22)
        at nrepl.server$handle_STAR_.invokeStatic(server.clj:19)
        at nrepl.server$handle_STAR_.invoke(server.clj:16)
        at nrepl.server$handle$fn__43701.invoke(server.clj:36)
        at clojure.core$binding_conveyor_fn$fn__6757.invoke(core.clj:2020)

My new project.clj is attached as txt project.clj.txt

I've never actually gotten the figwheels / piggieback ways, so I don't know how to proceed here.

What does the project do exactly? If I can edit graph node labels, use tree layout and move to it your OZ thing – then it would be worth the struggle.

spacegangster commented 2 years ago

I mean, I could try to compile CLJS with shadow-cljs, then I would just need to disable some CLJS plugins, I just don't know what are they 😂

metasoarous commented 2 years ago

I hadn't remembered exactly what was in this repo, but it looks like it was based on the datsys generator, which is woefully out of date, so this may be a bit of work to update.

If I were in your shoes and wanted to head down this path, I would just rip out the front end code and put it into a basic deps.edn + shadow-cljs setup. The overwhelming majority of those libraries aren't necessary if you just want the front end bits. You should be get by with datascript, reagent and posh (+ re-com if you want to use that for inputs); Meanwhile, the only code you really need is in src/cljc/db.cljc and src/cljs/{app,drag}.cljs.

I do hope to fix up datsync for server sync at some point, but not high priority for me at the moment.