Библиотека контроля доступа для Go: применяет политики ACL, RBAC и ABAC, заданные в файлах моделей и правил.
zenstackhq/zenstack
Слой данных для TypeScript с ORM, совместимой с Prisma, встроенным контролем доступа и автоматической генерацией CRUD API и хуков TanStack Query.
Open source альтернатива:Prisma
- Звёзды
- 2,957
- Форки
- 159
- Открытые issues
- 178
- Последний коммит
- позавчера
Что это?
ZenStack — это набор инструментов для работы с базами данных в full-stack- и backend-приложениях на Node.js и Bun. Он использует подход schema-first со схемой и API запросов, совместимыми с Prisma. В версии 3 ORM построена на Kysely, поэтому разработчики могут сочетать высокоуровневые запросы ORM с типизированным построителем запросов Kysely, когда нужен более низкоуровневый контроль.
Проект добавляет контроль доступа и валидацию данных непосредственно в модель данных, поэтому правила доступа хранятся рядом со схемой, а не разбросаны по коду приложения. ZenStack также может генерировать CRUD API для веб-приложений с адаптерами для популярных фреймворков, хуки TanStack Query для загрузки данных на фронтенде и схемы Zod.
Согласно документации, ZenStack V3 полностью реализован на TypeScript, без компонентов на Rust или WASM, и поддерживает продвинутые способы моделирования, например полиморфизм.
Ключевые возможности
- 01Схема и API запросов, совместимые с Prisma и построенные на Kysely
- 02Встроенный контроль доступа и валидация данных в модели данных
- 03Автоматическая генерация CRUD API для веб-приложений с адаптерами фреймворков
- 04Генерация хуков TanStack Query для доступа к данным на фронтенде
- 05Генерация схем Zod
- 06Полностью TypeScript-реализация без компонентов на Rust или WASM
Сценарии использования
- Разработка full-stack SaaS-приложения на TypeScript с правилами доступа на уровне строк
- Замена Prisma в backend-приложении на Node.js с сохранением API запросов
- Быстрая генерация CRUD-эндпоинтов и хуков для фронтенда на основе схемы данных
- Добавление типизированной возможности выполнять сырые запросы наряду с ORM
Быстрый старт
- 1
Создайте каркас нового проекта с настроенным ZenStack
npm create zenstack@latest my-project - 2
Или инициализируйте существующий проект с помощью CLI
npx @zenstackhq/cli@latest init
Что важно знать
- Версия 3 — это масштабная переработка, в которой Prisma ORM заменён новым движком, поэтому она может отличаться от предыдущих версий.
Темы
Частые вопросы
- Что такое zenstack?
- Слой данных для TypeScript с ORM, совместимой с Prisma, встроенным контролем доступа и автоматической генерацией CRUD API и хуков TanStack Query. ZenStack — это набор инструментов для работы с базами данных в full-stack- и backend-приложениях на Node.js и Bun. Он использует подход schema-first со схемой и API запросов, совместимыми с Prisma. В версии 3 ORM построена на Kysely, поэтому разработчики могут сочетать высокоуровневые запросы ORM с типизированным построителем запросов Kysely, когда нужен более низкоуровневый контроль.
- zenstack можно использовать бесплатно? Какая у него лицензия?
- zenstack распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- zenstack всё ещё поддерживается?
- Активно поддерживается. Последний коммит в zenstack — 4 нояб. 2026 г..
- Для чего можно использовать zenstack?
- Разработка full-stack SaaS-приложения на TypeScript с правилами доступа на уровне строк Замена Prisma в backend-приложении на Node.js с сохранением API запросов Быстрая генерация CRUD-эндпоинтов и хуков для фронтенда на основе схемы данных Добавление типизированной возможности выполнять сырые запросы наряду с ORM
- Как установить zenstack?
- Создайте каркас нового проекта с настроенным ZenStack: npm create zenstack@latest my-project Или инициализируйте существующий проект с помощью CLI: npx @zenstackhq/cli@latest init
- Где скачать zenstack?
- Исходный код и инструкции по установке — на GitHub: https://github.com/zenstackhq/zenstack
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Открытый сервис авторизации по мотивам Google Zanzibar для тонкой настройки RBAC-, ReBAC- и ABAC-контроля доступа вне кода приложения.
Коллекция готовых к запуску примеров, показывающих, как использовать Prisma ORM с Next.js, Express, GraphQL и разными базами данных.
Лёгкая ORM без лишних абстракций для TypeScript, поддерживающая PostgreSQL, MySQL и SQLite в Node.js, Bun, Deno и edge-средах.
Пакет Laravel для хранения пользователей, ролей и разрешений в базе данных и проверки доступа через gate Laravel.
Самостоятельно размещаемый движок авторизации (PDP), который проверяет YAML-политики и определяет, кто может выполнять какие действия над какими ресурсами.