Rescript-tea is a Rescript implementation of The Elm Architecture, an MVU (Model-View-Update) pattern for organizing frontend applications and components.
Darklang was one of the largest users of bucklescript-tea, the precursor to rescript-tea, and our entire client is built around it. Rescript has changed a lot since bucklescript-tea was written, and as it has been unmaintained for some time, we've taken it under our wing, and forked it as rescript-tea.
Rescript has changed over the last few years. In 2018, bucklescript-tea needed to make its own version rescript-webapi, the Result type, and rescript-json-combinators. It also lived through a transition from the OCaml-based Bucklescript syntax, to ReasonML, to Rescript. Rescript-tea is rewritten around these changes, making it smaller, easier to use, and a better citizen of the wider Rescript ecosystem.
That said, the core logic is the same. The original version of Bucklescript-tea was a performant, straightforward implementation of The Elm Architecture, and this remains the case in rescript-tea. We appreciate the great framework that Gabriel built and hope to be worthy maintainers going forward.
You can see the many changes in the Changelog. For a detailed look at how we use it in Darklang, check out the
client/ code, or our Youtube walkthrough of the
Discuss on Lobstrs, HN, Twitter, Mastodon, the Rescript forums, Discord or in the (new!) comments section below.