scittle 2025-07-14

Locally I've made Dataspex working with Scittle (was trivial). It seems to be a widely useful tool. So I can imagine it would be a good candidate to have in the standard build. It will allow people to inspect arbitrary maps, datascript connections (although not in the standard build). What do you think? I will make a PR soon. And as follow up question, even if dataspex is in the standard build it could still be added to scittle/plugins and then included as a library via deps.edn ? Example here https://clojurians.slack.com/archives/C06JZ4X334N/p1752262626136169?thread_ts=1752244890.382609&cid=C06JZ4X334N

What does dataspex provide apart from the CLJS dev tools?

Not sure if I understand the question

Haven't really used that so I can't say

that tool has been out for more than a decade, very useful for CLJS dev

Maybe dataspex looks more polished

Ok I will add it to the plugins dir and then later it can be added it to the main build if desired

it's not so clear to me what dataspex has to do with a kanban board

how is it used in the demo?

So if you have the extension installed and you open the html file you will see data in the dataspex tab

you can browse the internal data

i added dataspex to my locally scittle build and this is included in the html file

If you move the tasks in the ui you will see data popping up in the transaction log

ah cool. where can I download the dataspex extension?

I'm having issues to set things up with the plugin system. Is there a test setup for the plugin modules?

The test setup is actually building the thing

you could for example build the thing with hoplon or so

Ok it is building now with the demo project. In my own project there is still something wrong. Let me try a bit more

I was a bit confused by how all the dependencies are loaded (via bb.edn). Think I get it now

ah I think I've been running into some kind of shadow-cljs issue for my own setup https://clojurians.slack.com/archives/C6N245JGG/p1650905939145289 Need to set it up slightly different I guess. Will fix that first and then confirm everything is working as expected

Ok finally found it. Was a missing quote somewhere 🤦

I've made the PR https://github.com/babashka/scittle/pull/122 . During testing I've noticed that when you want to create a build with both dataspex and datascript shadowcljs doesn't know what to do:

Module Entry "datascript.core" was moved out of module ":scittle.datascript".
It was moved to ":scittle" and used by #{:scittle.dataspex :scittle.datascript}.
Error while executing task: signatures
This can be solved by making :scittle.dataspex depend on :scittle.datascript , but I didn't want to do this by default as it normally is an optional dependency. What do you think? Maybe this can be solved by adding functionality to the build function, not sure

Actually it is not an optional dependency, it doesn't compile without datascript. But you don't have to use datascript to use dataspex. I will add :scittle.datascript to the dependencies of :scittle.dataspex

yeah that should be the solution I think

is your PR ready for merge?

Thanks for merging!