Fork me on GitHub
#re-frame
<
2020-08-02
>
p-himik12:08:52

While browsing re-frame-10x source code, I noticed that sometimes it uses bundled Regent and sometimes it relies on the provided one. E.g. re_frame_10x.cljs requires both

[reagent.impl.util :as util]
[reagent.impl.component :as component]
[reagent.impl.batching :as batch]
and
[day8.re-frame-10x.inlined-deps.reagent.v0v10v0.reagent.core :as r]
[day8.re-frame-10x.inlined-deps.reagent.v0v10v0.reagent.dom :as rdom]
Is it intended? One would think that if you use the bundled version, you should always stick to it.

mikethompson13:08:41

@p-himik re-frame-10x has to monitor the app's Reagent - when components get rendered, when animation frames occur, etc Plus it has its own, vendored Reagent which it uses to create its own UI, separate to the app, and the rendering of that shouldn't be monitored, otherwise re-frame-10x would be interfering with the application it is supposed t be monitoring.

p-himik13:08:39

Ah, I see. So it ends up being pretty tightly linked to the Reagent version. I wanted to try out the latest Reagent alpha but it has some changes that aren't compatible with the latest re-frame-10x version. Oh well.

mikethompson13:08:34

To do the monitoring of the app's Reagent, it monkey patches some functions.