Registry / web-framework / zenstack

zenstack

JSON →
library2.22.1jsnpmunverified

ZenStack is a fullstack enhancement layer for Prisma ORM that provides seamless integration from database to UI. It extends Prisma with access policies, automatic API generation (REST and RPC), client-side hooks for React/TanStack Query, Zod schema generation, and more. Current stable version is 3.6.2, with active releases roughly every month. Key differentiators: declarative permission policies similar to Firebase Security Rules, custom types with relations, OpenAPI spec generation, and deep integration with Prisma without replacing it. Requires Prisma 5.0+ and Zod 3.25+ as peer dependencies.

npm install zenstack
INSTALL
IMPORT
SIG · ZENSTACK
Z
zenstack
web-frameworkjavascriptv2.22.1
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18223 runs
build_error
glibc
node 18223 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

enhance
import { enhance } from '@zenstackhq/runtime'
import { enhance } from 'zenstack'
Core enhancement function for the Prisma client. Use from @zenstackhq/runtime since v2.
useFindMany
import { useFindMany } from '@zenstackhq/tanstack-query'
import { useFindMany } from 'zenstack/react'
React hooks are in @zenstackhq/tanstack-query since v3. The old @zenstackhq/react package is deprecated.
generateZodSchemas
import { generateZodSchemas } from '@zenstackhq/zod'
import { generateZodSchemas } from 'zenstack'
Zod generation utilities are in @zenstackhq/zod since v3.0.

Shows how to set up a ZenStack-enhanced Prisma client with a permissive policy for reading users.

// Install: npm install @zenstackhq/runtime @zenstackhq/tanstack-query prisma @prisma/client zod // Define schema.prisma with ZenStack extensions // model User { // id String @id @default(uuid()) // email String @unique // role String @default('user') // posts Post[] // @@allow('read', true) // @@allow('create,update', auth().role == 'admin') // } // Run: npx zenstack generate import { PrismaClient } from '@prisma/client'; import { enhance } from '@zenstackhq/runtime'; const prisma = new PrismaClient(); const enhanced = enhance(prisma, { getCurrentUser: () => ({ id: '1', role: 'admin' }) }); async function main() { const users = await enhanced.user.findMany(); console.log(users); } main()
zenstack --version
Debug
Known issues
breakingSince v3, React hooks moved from @zenstackhq/react to @zenstackhq/tanstack-query
fix
Update imports: use @zenstackhq/tanstack-query instead of @zenstackhq/react.
affects: >=3.0.0 <3.0.0
breakingZod schema generation now requires explicit import from @zenstackhq/zod
fix
Change 'import { generateZodSchemas } from "zenstack"' to 'import { generateZodSchemas } from "@zenstackhq/zod"'.
affects: >=3.0.0
deprecatedThe old 'zenstack' global package is deprecated; use scoped packages like @zenstackhq/runtime, @zenstackhq/tanstack-query
fix
Replace imports with specific @zenstackhq/* packages.
affects: >=2.0.0
gotchaPolicy rules must be defined correctly; incorrect rules may silently return empty results
fix
Use @@allow and @@deny with auth() conditions; test policies thoroughly.
affects: *
Errors
Common errors & fixes
Cannot find module '@zenstackhq/runtime' or its corresponding type declarations.
Missing installation of the runtime package.
fix
Run 'npm install @zenstackhq/runtime'.
TypeError: prismadb.enhance is not a function
Using enhance incorrectly or missing import.
fix
Use 'import { enhance } from "@zenstackhq/runtime"'; then call 'enhance(prisma, { getCurrentUser })'.
Upgrade
Version history
2.22.1latest on npm
Audit
Dependencies
zodrequiredUsed for runtime validation of input/output schemas
prismarequiredCore ORM that ZenStack extends
zodoptionalRequired for policy evaluation in some contexts
Agent activity
40 hits · last 30 days
node
32
OpenAI (training)
1
Resources
zenstack — npm install zenstack · libregistry