helix

https://github.com/Lokeh/helix
2021-03-20T14:31:28.002200Z

{:npm-deps {react "16.13.1" react-refresh "0.8.1"}} these are deps.cljs of 0.0.14 and they conflict with package.json "react-dom": "^17.0.1", "react-refresh": "^0.9.0", "react": "^17.0.1". Shadow-cljs tells me that when I use react 17 and react-refresh 0.9.0 on my package.json

2021-03-20T14:33:40.003700Z

By the way , are you using pathom ? I saw another library of you about EQL and maps.

lilactown 2021-03-20T17:13:14.004500Z

@geraldodev there should be no issue despite the warning from shadow-cljs. helix and react 17 are compatible

lilactown 2021-03-20T17:13:34.004900Z

we are starting to use pathom at work, yes. I am also very fascinated with it and EQL 🙂

Lucy Wang 2021-03-24T15:21:43.006200Z

I've been waiting for some motivation to try pathom/eql for a while, so two (noob) questions: 1. Does introducing pathom/eql require any server-side changes? 2. Do they play well with re-frame?

lilactown 2021-03-24T21:13:37.006400Z

you can implement pathom on the client but we decided to implement it in our API layer for simplicity

lilactown 2021-03-24T21:14:20.006600Z

since we did that, we use re-frame to send POST requests with an EQL query and then update the app-db with the results. it works well

lilactown 2021-03-24T21:15:13.006800Z

we went an extra step further and are putting the results into a datascript db in the app-db to do normalization for us. this is OK for short term, but long term I'm interested in replacing it with something like https://github.com/lilactown/autonormal

Lucy Wang 2021-03-25T00:58:42.007100Z

Thanks! one more question, what is the major motivation of introducing pathom/eql into your system?

lilactown 2021-03-25T14:44:34.007300Z

for us it was that we have a system of entities that have relationships to each other. we were creating API routes that exposed them, but then e.g. entityA related to entityB, I would need to fetch it from the A API and then the B API, which was slow. The other thing we would do is create ad-hoc API routes for each use case, that would return parts of entityA and entityB as was required by the UI, but that led to a proliferation of endpoints

lilactown 2021-03-25T14:45:30.007500Z

pathom will allow us to declaratively select exactly what data we need from our entire system and load it on the front end, from one endpoint.

Lucy Wang 2021-03-29T06:19:26.007800Z

That's a great explanation, thx!

lilactown 2021-03-20T17:14:29.005900Z

my long term goal is to bring a Relay or apollo-graphql like library to helix, using EQL. although fulcro might beat me there lol