📢 A single command that automatically removes all unused fields from your GraphQL queries and fragments in your RescriptRelay project! Prevent overfetching with no manual intervention.
So excited this is finally stable enough to ship in rescript-relay 0.21.1!
A short thread:
This was an absolute blast, like always! Great people, great city, and great progress.
Thanks to everyone organizing, and all sponsors, for making this possible yet another year. Already looking forward to the next one!
The most useful and advanced UI Codex and Claude Code can produce for me:
...an auto updated markdown file with progress, notes, state, links and stats for the current task.
Beats a "real" UI. Just have the LLM write a script to write to it automatically, and watch it unfold.
I'm very excited to share a project I've vibe coded the last few days, a movie rating web app based on
@at_protocol built in @rescriptlang with @___zth___ 's amazing res-x framework, the whole thing runs on a single lambda. Sources linked in the footer. Enjoy!
PostGraphile V5 is here!
New execution engine.
New export system.
New extension capabilities.
Same focus on productivity and performance!
This is the biggest release we’ve ever shipped.
See what changed: https://t.co/PfXMtyHko3
I'm definitely finding programming more fun now in the agentic coding era. Larger capacity + getting more done in less time is of course fun. But, I really enjoy the "how can I make this process work as well as possible for agents to work on" parts.
It's fun and stimulating.
We are about to sunset the ReScript legacy build system. If you’re stuck, can’t upgrade, or worried about migration, we want to hear from you!
Join the discussion: https://t.co/SPzMwONXwf
This is pretty crazy black magic from @ccrisccris . Reanalyze runs whole program analysis to figure out things like dead code, down to the record field and variant constructor level. Incredibly powerful.
In a real world project of ~1900 files and ~750k loc ReScript, doing the actual analysis takes just over 100ms. That's for the whole repo/program. And given the incremental rework here, rerunning that analysis even if files change adds almost no additional overhead.
This means that we'll be able to provide whole program statical analysis (dead code, exception analysis) with real time feedback in the editor.
This is massively powerful in itself, and by extension this opens up many many interesting use cases. Exciting!
The @rescriptlang static analyzer is going incremental with the @skiplabs reactive combinators.
Soon ReScript static analysis that updates in real time in the editor.
Well, it's all client side, so I guess the client would have to either select them or suppress them. But a good solution could probably be to add an ignore list as well, to let the client suppress those warnings both on the config and field level.
Haven't bumped into this issue myself yet though!
RescriptRelay recently shipped an "exhaustive" directive, that you can apply on unions/interfaces in your GraphQL to force you to always select all possible members of that union/interface.
I just shipped an addition to that - "autoExhaustiveTypes". Point out types that should always be treated as exhaustive, in the Relay config directly. No manual directive needed, and you can opt out with the new "nonExhaustive" directive on a case by case basis.
This is one of the most useful things I've come across recently. I already have a great many use cases for this. One example is content block types from a CMS. Always want to make sure we select and handle all of these.
Out in RescriptRelay 4.1.0.