Show HN: ZenStack – DSL to define data and access rules closer to the database (github.com)
We're excited to announce the launch of ZenStack V1 after a year of refinement. With ZenStack, we introduce ZModel, a domain-specific language (DSL) that simplifies the definition of data and access rules, bringing it closer to the database level. This eliminates the need for extensive, repetitive coding on the application side.
We would love to hear your feedback and opinions on it. Thank you!
7 comments
[ 4.0 ms ] story [ 110 ms ] threadIs there any plan for Drizzle support?
The current approach relies on schema and code generation, which is not possible in Drizzle. We could have used decorators and string literals to achieve this, but that would negatively impact the developer experience. Therefore, at least for now it's not in our plan.
I’m sure this is a cool project (and I’m gonna dig in a bit more) but…come on. Let’s tone it down a bit.
edit
Ok dig in a bit more. Seems interesting. Is it fair to say this could be a self hosted alternative to supabase? The way that it uses row level security policies to enable querying the db directly from the client seems 1:1 with this, but with the additional benefit of getting to use Prisma.
- At runtime, it's a library that runs inside your current framework (Next.js, Express, etc.), so no extra hosting is needed.
- It doesn't embed a database. You bring your own - any DB supported by Prisma.
One thing that goes beyond Supabase/PostgresRLS is that it supports column-level security as well. You can write rules to control CRUD permissions at the field level. This provides a much finer-grained control granularity.
And, yes, the DX of Prisma is a very good thing to have :D.