u/shaberman

Joist 2.4 with new SQL Builder, Lazy Fields, more...

Hello r/typescript ! We just released Joist 2.4, which has a new low-level query builder API:

https://joist-orm.io/blog/joist-2-4/

Because Joist is an entity-based ORM, we've always had very robust "load entity" query APIs, but historically considered "creating adhoc SQL queries" as not our strong suit / nothing we had particularly innovative ideas about, so expected users to use a knex-type library alongside Joist.

Now in Joist 2.4, we've built out a low-level em.query API, with a ~somewhat novel "just POJOs / not fluent" API that fits in with Joist's overall DX, and means codebases don't need the "dual Joist/Knex" setup anymore.

Happy to have folks check it out; disclaimer since its a new feature, I'm sure we're missing things & will keep iterating based on feedback. Thanks!

reddit.com
u/shaberman — 14 days ago
▲ 1 r/react

Truss CSS-in-JS Benchmark Results

Hey r/react, not anything I expect folks to adopt, but our niche CSS-in-JS library did surprisingly well on benchmarks, for being a hobbyist library, thought folks might find it interesting:

https://www.draconianoverlord.com/2026/09/28/truss-excels-on-a-css-in-js-benchmark.html/

In particular the "Why We Win" tldr coming down to our class names being "technically longer but more compression friendly" than StyleX was honestly a surprise/neat learning that I didn't realize before writing up the blog post.

(Disclaimer the post itself is all me-human-written, but the benchmark suite itself is very much not -- that said, it came from another CSS-in-JS framework and seems pretty good/accurate afaict.)

reddit.com
u/shaberman — 17 days ago
▲ 7 r/rails

Joist 2.3 (TypeScript ORM) with Rails-style Scopes

Hi r/rails, feel free to ignore this if you feel it's in bad taste, but Joist is a TypeScript ORM that's always unashamedly been a Rails/ActiveRecord clone, although with our own innovations like N+1 prevention and fine-grained reactivity.

Our last release just added Rails-style scopes: https://joist-orm.io/blog/joist-2-3/

Just thought I'd post here as an FYI if any Rails devs find themselves on TypeScript backends and want some of that Rails/ActiveRecord DX/ergonomics. Thanks!

reddit.com
u/shaberman — 2 months ago

Joist 2.3 with Rails-style Scopes

Hey r/typescript, Joist has always been a "Rails-ish" ORM, but we never had an equivalent to their scopes feature. But a friend was converting their Rails app to Joist and lamenting "why no scopes?", so we took a stab at it -- and now have them!

Fluent DSLs like this in TypeScript are kinda hard to pull off, so we lean on Joist's `joist-codegen` step, a little similar to TanStack Router's vite plugin doing build-time codegen to help with the static typing -- I don't totally love that compromise, but I think the API ergonomics were worth it.

Ngl I procrastinated posting the release notes b/c r/typescript hates ORMs -- all good, but 🤷 not looking for another debate today. ✌️

joist-orm.io
u/shaberman — 2 months ago

Simplest Possible Closure Tables

Hey folks, we wanted to implement the closure table pattern for some auth logic at work, and realized the declarative/reactive infra of our Joist ORM made it particularly succinct, so wrote up a post about how it worked out. Thanks!

joist-orm.io
u/shaberman — 4 months ago