7 comments

  • killerstorm44 minutes ago
    <p><pre><code> type ProfileSpec = Frond.NodeSpec&lt;{ readonly args: Frond.Args.None; readonly key: Frond.Key.Singleton; readonly deps: { readonly http: Frond.Dep&lt;typeof HttpTransportNode&gt;; }; readonly result: Profile; }&gt;; </code></pre> This begs to be its own DSL rather than TypeScript-type-meta-programming.
  • jaen1 hour ago
    What&#x27;s the advantage of this over Jotai &#x2F; atomic state &#x2F; computed signals, which seems to require 10× less code with mostly the same benefits?
  • adithyaharish53 minutes ago
    Interesting approach.The lifecycle management and teardown story seems to be the main differentiator rather than state itself.How does Frond compare to Effect&#x27;s Layer system? Is it essentially bringing Layer-like dependency graphs into the React runtime?
    • alfonsodev45 minutes ago
      I understand it like events + state machine type of approach. Reacts only renders and emits events, and I guess the state machine imperatively will dictate to react what to render according to the result of executing whatever is in the state transition.
  • chaitralikakde39 minutes ago
    How does Frond handle cyclic dependencies? Is cycle detection built into the runtime, or is it left to the developer?
  • jatins30 minutes ago
    If I see this code in a new company I just joined I am quitting on day 1
  • romanonthego3 hours ago
    I built Frond, a frontend runtime that makes your app&#x27;s dependency graph explicit instead of leaving it scattered across provider order, enabled: user &amp;&amp; api.ready guards, and logout teardown scripts.<p>The shape: your app is a graph of nodes — services, resources, screens. Each node declares its dependencies, how it&#x27;s acquired, how it&#x27;s cancelled, and how it&#x27;s released, all in one place. The runtime resolves them in dependency order and tracks readiness, so React stays a renderer — it consumes a node that&#x27;s already ready (useNode suspends until it is) instead of re-deriving that logic inside components.<p>Two engines run underneath. Effect handles the async work — execution guarantees, cleanup correctness, cancellation, and typed error channels. MobX handles state — granular observable state and live updates. You declare a node&#x27;s dependencies, acquire, and release; Frond runs the rest on those two.<p>It&#x27;s v0 and the API will still move.
    • charucharu44 minutes ago
      How opinionated is Frond? Could someone adopt it incrementally, or does it need to own the entire application&#x27;s dependency graph?
  • ricardofranco2 hours ago
    [flagged]