Fork me on GitHub
#datahike
<
2021-09-25
>
whilo05:09:44

@goomba There are quite a few people who built prototypes with it, but a production ready version will become available after our 1.0 release. What are you specifically interested in?

Lone Ranger16:09:12

I'm very interested in helping w/the development of the production version! I'm having some trouble getting the branch to run locally so I was going to ask if anyone has a verified working build configuration so I have a place to get started

Lone Ranger16:09:24

I'm getting some strange compilation errors and I'm not sure if it's from figwheel, emacs, or datahike, but I figure starting with a known working setup is probably the best way to go

grounded_sage17:09:46

Hey @goomba! Super cool that you are interested in helping us move it forward. I did most of the porting work to Cljs and spend most of my time in Clojurescript tooling etc. So perhaps I can help. What kind of error are you getting?

grounded_sage17:09:14

One thing that jumps out at me is that you mention figwheel. We are using shadow-cljs for the build tool. Not sure if this is anything but just thought it’s worth noting before we jump in.

Lone Ranger18:09:36

@grounded_sage Yeah! It works out great for me. My brief survey of the landscape indicates that datahike has the closest "datalog running on indexedDB" that I've been able to find, so helping out here would save me a ton of time! I can't imagine figwheel/shadow-cljs would make a difference, but like I said I'll start from the known working config first.

Lone Ranger18:09:09

@grounded_sage do you have any idea how important these dependencies are to running the cljs branch? https://github.com/replikativ/datahike/blob/206-cljs-support/deps.edn#L7-L14

Lone Ranger18:09:19

some of them seem to conflict for me

Lone Ranger18:09:43

can I use latest or were they specially modified for the cljs branch?

grounded_sage18:09:09

Yes these were all done for the cljs branch. I think some of these changes have since made it into releases but I will have to check.

grounded_sage18:09:22

Yea it's very close there is just a bit of work to realign it with the main branch and there is some changes happening in Konserve which will have to be brought in as well.

Lone Ranger18:09:21

I think my problem is that my workflow is usually deps/figwheel/CIDER, and at least one of those components probably isn't happy with the current build. You're working in VSCode/Calva + shadow + lein, right?

grounded_sage18:09:29

figwheel/shadow-cljs are different. I think figwheel uses cljs.build under the hood if I remember correctly and shadow-cljs does different things. As far as I am aware they are not that compatible in some builds last I checked.

Lone Ranger18:09:32

I'll try that first and see if I can get that going and report back

Lone Ranger18:09:46

This would be the first time I've ever seen an incompatible build

Lone Ranger18:09:54

But there's a first time for everything!

Lone Ranger18:09:56

How are you running shadow? From the CLI or from the IDE?

grounded_sage18:09:17

I was mostly doing shadow-cljs watch browser-test . Or running the shadow-cljs build from Calva with the browser-repl.

grounded_sage18:09:58

I think the issue with the different build types is that shadow has the shadow-cljs.edn file where you specify how the build is working. I am less familiar with tooling on the other side as shadow provides so much convenience and it more commonly used within the community

Lone Ranger18:09:10

That is the prevalent wisdom! Maybe this will finally teach me to use it 🙂

metasoarous17:09:31

@goomba It takes a bit of getting used to if you're more familiar with figwheel, but I've found shadow-cljs much nicer to work with once you get the hang of it. There are lots of advantages.

Lone Ranger18:09:55

What is the browser URL once the build is complete?

grounded_sage18:09:53

Awesome. Hopefully everything is working smoothly now. Feel free to ping me if you have any further troubles. I will be away on vacation soon but will be back in 2 weeks.

Lone Ranger18:09:38

Ok, just to double check, then -- the procedure is: 1. clone the repo and checkout the 206-cljs branch 2. run shadow-cljs watch browser-test 3. connect from Calva 4. go through the tutorial That's how it's expected to work?

Lone Ranger18:09:01

And if that doesn't work then there's probably something in my environment that needs to be fixed?

Lone Ranger18:09:08

Are you on Mac or Linux?

whilo23:09:53

@grounded_sage is on Mac. @goomba did you get it to work?

Lone Ranger23:09:46

Not yet. I need to verify my shadow setup is working independently first, will attempt again Monday

whilo23:09:29

Ok, cool. :thumbsup: