pathom

:pathom: https://github.com/wilkerlucio/pathom/ & https://pathom3.wsscode.com & https://roamresearch.com/#/app/wsscode
2021-03-01T09:23:49.037900Z

Interesting indeed. Do you have an example babashka script somewhere?

henrik 2021-03-01T09:46:20.038100Z

We found pathom-datomic to be a really nice default to get up and running. We use that as a "baseline", in order to not write a resolver for every single attribute in the DB, and then switch to resolvers for things where we need to inject more intelligence.

henrik 2021-03-01T09:47:50.038300Z

Though we're currently on Pathom 2.

prnc 2021-03-01T09:58:07.038500Z

Hi! Thanks so much @henrik. This is what I was thinking, starting out with pathom-datomic. Pathom3 looks tempting thought, esp. for a new/early stage project. Those two are incompatible though right? (i.e. pathom-datomic & pathom3)

henrik 2021-03-01T10:04:23.038700Z

I'm not sure @prnc, we haven't tried Pathom 3 yet. When you use Datomic, it's crucial that you can update the environment mid-mutation (since when you transact to Datomic, you need to get a new DB from the result, and inject it into the Pathom env in order for subsequent resolvers to use the correct DB for responses). I'm not sure if Pathom 3 has that yet (@wilkerlucio did take notice of this in a previous thread), but if it doesn't, I'd recommend sticking to Pathom 2 for the time being.

prnc 2021-03-01T10:10:30.038900Z

Alright! Will need to do some experimenting now I guess but this very helpful to get me started, thank you!

1๐Ÿ‘
wilkerlucio 2021-03-01T13:14:02.039300Z

one thing to also consider is that Pathom 2 datomic support relies on reader3, which I suggest everyone to avoid, its a dropped experiment in Pathom 2, the Pathom 3 port for that should be easy enough, I'm currently working on dynamic resolvers support (starting with GraphQL because its a harder problem and will get more things clear)

henrik 2021-03-01T13:23:48.039500Z

@wilkerlucio Would you suggest that it's a better idea to go with Pathom 3 at this point, and just write the resolvers required, than to go with Pathom 2 + pathom-datomic + reader3?

wilkerlucio 2021-03-01T13:27:51.039700Z

at this exact point you couldn't use the Pathom Datomic with Pathom 3, the safe way to go still Pathom 2 + reader2 + manual resolvers. reader3 has issues that were fixes in Pathom 3 already (bad planning in some situations) but not backported (because there is a lot of non Pathom 2 related things on the Pathom 3 impl). But I'm getting confident with the basics in Pathom 3, experiments have been running fine, and Datomic for Pathom 3 is right around the corner (I guess 1 week, 2 tops), Pathom 3 + Datomic dynamic will be probably safer than Pathom 2 + reader3

1๐Ÿ‘
prnc 2021-03-01T14:26:35.040200Z

> Datomic for Pathom 3 is right around the corner (I guess 1 week, 2 tops) thatโ€™s some good news, very exciting!